關注我,更多精彩文章第一時間推送給你
安裝jenkins
我這裏選擇的是docker方式安裝,根據官方建議使用的額鏡像是jenkinsci/blueocean
java
建議使用的Docker映像是
jenkinsci/blueocean
image(來自 the Docker Hub repository)。 該鏡像包含當前的長期支持 (LTS) 的Jenkins版本 (能夠投入使用) ,捆綁了全部Blue Ocean插件和功能。這意味着你不須要單獨安裝Blue Ocean插件。git
拉取鏡像docker
docker pull jenkinsci/blueocean
<!--more-->bash
運行鏡像maven
docker run -d --name jenkins \ -p 8010:8080 -p 8011:8081 -p 50000:50000 \ -v /home/docker/jenkins/data:/var/jenkins_home \ --privileged=true --restart=always \ jenkinsci/blueocean:latest
此時docker ps
查看容器運行情況發現一直在重啓測試
jenkinsci/blueocean "/sbin/tini -- /usr/…" 20 minutes ago Restarting (1) 17 seconds ago
查看日誌docker logs jenkins
獲得ui
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
須要修改下目錄權限, 由於當映射本地數據卷時,/home/docker/jenkins/data目錄的擁有者爲root用戶,而容器中jenkins user的uid爲1000 執行以下命令便可url
chown -R 1000:1000 /home/docker/jenkins/data # 重啓jenkins容器 docker restart jenkins
啓動成功以後的配置
- 訪問192.168.16.128:8010,即你的ip + 你docker啓動時候映射的端口
-
docker安裝的密碼去哪裏找呢?spa
-
答案是去日誌裏是最快速的,固然也能夠去容器內部
docker exec -it 容器id /bin/bash
按照提示地址獲取.net
# 查看日誌 docker logs jenkins # 獲得的日誌中的密碼 ************************************************************* ************************************************************* ************************************************************* Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: 8c4bdd47724b4c1b82e726c7bfb62fae This may also be found at: /var/jenkins_home/secrets/initialAdminPassword ************************************************************* ************************************************************* *************************************************************
- 安裝推薦的插件
- 若是須要重啓則執行
docker restart jenkins
配置java和maven
- 以下圖所示:進入到jenkins容器內部查看,已經安裝了jdk1.8,因此咱們直接找到jdk1.8的地址配置上就行
# 進入jenkins容器內部 docker exec -it jenkins /bin/bash # 查看jdk版本 java -version # 查看jdk地址 echo $JAVA_HOME
- jdk配置jenkins內部的,maven自動安裝,3.6.3便可,以後保存。
- 安裝這個maven插件
- 新建一個maven項目
- 配置git地址
- 添加構建命令
- 這塊建議跳過測試階段,以下配置
- 以下腳本:前四個怎麼填寫,先構建一次,查看控制檯輸出,時間可能比較久,能夠配置一下maven的設置,在全局設置中以下配置:
- 注意這裏配置的settings.xml就是平時咱們配置了阿里鏡像源的配置,這裏我配置到了容器內的/var/jenkins_home目錄中,命令以下
# 進入容器 docker exec -it jenkins /bin/bash # 進入目錄 cd /var/jenkins_home # 新建文件 vi settings.xml # 把配置好阿里鏡像源的settings.xml中的內容複製進去 # :wq保存退出
- 這塊配置以下腳本
#!/bin/bash # 服務名稱 SERVER_NAME=jenkins_test # 源jar名稱,mvn打包以後,target目錄下的jar包名稱 JAR_NAME=jenkins_test-0.0.1-SNAPSHOT # 源jar路徑,打包以後的生成的jar的路徑 JAR_PATH=/var/jenkins_home/workspace/jenkins_test/target # 打包完成以後,把jar包移動到運行jar包的目錄 JAR_WORK_PATH=/var/jenkins_home/workspace/jenkins_test/target echo "查詢進程id -->$SERVER_NAME" # 獲取查詢結果以空格爲界的第一個字段,即PID端口號 PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $1}'` echo "獲得進程id:$PID" echo "結束進程ing..." for id in $PID do kill -9 $id echo "killed $id" done # 等待三秒 echo sleep 3s sleep 1 echo sleep 2s sleep 1 echo sleep 1s sleep 1 echo "結束進程完成" # 複製jar包到執行目錄 echo "複製jar包到執行目錄: cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH" cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH echo "複製jar包完成" cd $JAR_WORK_PATH # 修改文件權限 chmod 755 $JAR_NAME.jar # 後臺運行 BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &
- 以後當即構建,便可成功