Jirayu
7/12/2018 - 8:12 AM

Jenkins setup

  • ถ้ายิง Jira new Fix version ไม่ได้
    • Manage Jenkins -> In-process Script Approval แล้ว Approve
  • ถ้าติด signing Test นานๆให้ลอง 2 อย่าง
    • มีเด้งหน้าขอเข้าถึง cert ใน user jenkins มั้ย
    • Simulator มันเอ๋อๆมั้ย ให้ลองเข้าไปรันเทสใน Xcode ก่อนทีนึง
  • White screen of death
    • Restart Jenkins
  • Code Signing Error: No profiles for 'BAACMPB.watchkitapp.watchkitextension' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'BAACMPB.watchkitapp.watchkitextension'
    • เปิด XCode แล้วกดไปที่ Target watch extension กับ watch ให้มัน generate profile

Install Jenkins

Run ทุกโปรเจคที่จะทำ Automate build ให้ผ่านได้ทุกโปรเจคก่อนค่อย Set up jenkins projects

brew install jenkins
To have launchd start jenkins now and restart at login: brew services start jenkins

Get password at /Users/jenkins/.jenkins/secrets/initialAdminPassword as instruction in jenkins website

install suggested plugin

Stop Jenkins launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
Start Jenkins launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist Restart Jenkins brew services restart jenkins

copy ssh private key by pbcopy < ~/.ssh/id_rsa แล้วเอาไปสร้าง credential ssh ใน Jenkins

Set git user
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

Set Jenkins -> Configuration -> Location -> Jenkins URL ให้เป็น ip ของเครื่อง Jenkins เพื่อให้ link จาก bitbucket และ jira สามารถกดเข้ามาได้

Global Environment variables

Manage Jenkins -> Configure System -> Global properties -> Environment variables
LANG = en_US.UTF-8
LANGUAGE= en_US.UTF-8
LC_ALL = en_US.UTF-8
Set Beta token & secret ที่ global variable
CRASHLYTICS_API_TOKEN
CRASHLYTICS_BUILD_SECRET
Set Android home variable
ANDROID_HOME = ~/Library/Android/sdk โดยให้เอา Absolute path ไปใส่ใน jenkins

Jira

Config Jira integration by setting URL, User Name, Password, Connection timeout, Record SCM changes (enable)
Config Jira Step ด้วย โดยต้องให้ Name ตรงกันกับใน Code Jenkinsfile

Make Jenkins available to local network

sudo vim /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist แล้ว edit 127.0.0.1 ให้เป็น ip ของเครื่องเรา ณ ตอนนั้น
brew services restart jenkins

Extended E-mail Notification

Jenkins -> Configuration -> Extended E-mail Notification _ Advanced

  1. Blue Ocean
  2. Lockable resources
  3. Jira Pipeline Steps