目標
本地A開發代碼 -> 推送gitlab服務器B -> 服務器C上的Jenkins自動打包 -> 推送運行環境服務器D
安裝Jenkins
根據官網文檔
docker pull jenkins
# docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home:z -t jenkins
# 這句是官網推薦的,但是運行時會有權限問題
# 改成下面這句 -u 覆蓋容器中內置的帳號,該用外部傳入,這裏傳入0代表的是root帳號Id
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -u 0 -P --name jenkins-server jenkins
這樣就啓動了,瀏覽器訪問49001端口就可以初始化配置Jenkins,全部默認的就可以了
配置Jenkins 和 Gitlab
首先安裝Jenkins插件
- Jenkins GitLab Plugin
- Jenkins GitLab Hook Plugin
- Jenkins Git Plugin (這個應該默認安裝過了)
獲取gitlab api token
GitLab -> Settings -> Account,拷貝Api Token.
配置Jenkins服務器
Jenkins–> 系統管理–> 系統設置 -> GitLab部分
輸入GitLab服務器URL地址和上步得到Api Token,並測試
配置Jenkins Job
新建一個Jenkins Job,自由風格的就可以
配置對應的gitlab庫
記住這兩個
配置Gitlib對應工程
GitLab後選擇對應Jenkins Job的項目,“Settings”–》“Integrations”,URL和Token填上圖中的。點擊“Test Hook”測試
構建腳本
寫對應的自己需要的npm build 和 scp腳本就可以了
可能會找不到npm,安裝一下就好
scp不輸入密碼的話需要配置ssh key