Jenkins环境部署
生活随笔
收集整理的這篇文章主要介紹了
Jenkins环境部署
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
* 安裝Java1.8.0環(huán)境
# 如果不先安裝,后面安裝完Jenkins后需要手動配置,增加麻煩
yum -y install java-1.8.0*
* 安裝Jenkins
1.yum安裝
# 下載Jenkins repo源,受限GFW,網(wǎng)速會很慢 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo # 安裝Jenkins key rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key # yum安裝Jenkins yum -y install jenkins2.rpm安裝
訪問清華大學鏡像網(wǎng)下載
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/ # 安裝 rpm -ivh jenkins-rpm包 # 鏈接如https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.250-1.1.noarch.rpmJenkins狀態(tài)操作
# 查看狀態(tài) systemctl status jenkins # 啟動 systemctl start jenkins # 停止 systemctl stop jenkins # 重啟 systemctl restart jenkins # 開機自啟 systemctl enable jenkins # 禁用開機自啟 systemctl disable jenkins查看Jenkins配置目錄
rpm -ql jenkins/etc/init.d/jenkins # 系統(tǒng)命令 /etc/logrotate.d/jenkins /etc/sysconfig/jenkins # jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在這里配置 /usr/lib/jenkins # jenkins安裝目錄,war包會放在這里 /usr/lib/jenkins/jenkins.war # jenkins安裝war包 /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins # 默認的JENKINS_HOME,修改工作目錄時,需要關閉Jenkins并將數(shù)據(jù)全部遷移到指定目錄 /var/log/jenkins # jenkins日志文件修改配置文件
vim /etc/sysconfig/jenkins # 修改工作空間,最好不要放在系統(tǒng)盤 JENKINS_HOME # 修改Jenkins運行用戶,默認即可 JENKINS_USER # 修改Jenkins使用端口,被占用可導致啟動失敗,按照需要修改 JENKINS_PORT修改插件源
# 注意,該配置文件位于工作空間 sed -i 's#https://updates.jenkins.io/update-center.json#https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json#g' /var/lib/jenkins/hudson.model.UpdateCenter.xml # 重啟生效 systemctl restart jenkins查看初始化密碼
# 注意,該配置文件位于工作空間下 # 初次訪問前端頁面的時候,Jenkins也會做一次提示 cat /var/lib/jenkins/secrets/initialAdminPassword訪問前端頁面
# 訪問安裝服務器的ip:port,如果無法訪問,應該是因為防火墻問題導致 # 查看防火墻狀態(tài) systemctl status firewalld # 關閉防火墻 systemctl stop firewalld # 啟動防火墻 systemctl start firewalld # 重啟防火墻 systemctl restart firewalld# 直接關閉整個防火墻是很粗暴的方式,特別是對外暴露時,會增加不必要的風險,建議使用以下方式# 防火墻開放端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent # 重新載入配置,只有重新載入配置才會生效 firewall-cmd --reload # 查看端口是否開放 firewall-cmd --query-port=8080/tcp # 查看開放端口列表 firewall-cmd --list-port# firewalld命令解釋 --zone=public 作用域 --add-port=8080/tcp 開放端口,端口/協(xié)議 --permanent 永久生效,不添加重啟后失效安裝插件
# 選擇推薦或者自定義都可以 # 或者直接從現(xiàn)有的Jenkins復制插件(比較快),前提是Jenkins需要先行關閉,并且未通過界面安裝插件,插件位于工作目錄下,注意,需要保證復制過來的插件文件夾權限與現(xiàn)有Jenkins權限保持一致,否則會導致讀取不到,需要可以找我要,400M左右 # 至少需要安裝插件列表 所有git插件 Groovy Gradle Pipeline JaCoCo * 以下為前端訪問時操作輸入管理員密碼,完成初始化
選擇插件配置
插件安裝或者復制完成后界面
創(chuàng)建job,選擇流水線
配置git拉取代碼
使用Jenkins拉取代碼
使用Jenkins打包jar
使用Jenkins勾起自動化測試
# 這里僅提供基礎的pipeline腳本編寫 # 在上述代碼的基礎上繼續(xù)編寫,添加勾起自動化腳本 node{stage('生成變量信息'){env.TARGET_BRANCH = "hotfix"env.GITLABSSHID = ""env.GITLABREPO = "git@39.108.108.71:foshannsh/fsnsh_backend.git"}stage('拉取代碼'){echo "PULL CODE"git branch: "${TARGET_BRANCH}", credentialsId: "GITLABSSHID", url: "${GITLABREPO}"}stage("構建jar包"){sh label: '', script: 'cd $WORKSPACE && mvn clean package -Dmaven.test.skip=true'}stage("自動化測試"){sh label: '', script: 'python /root/autoTest.py'}stage("執(zhí)行單元測試"){catchError(buildResult: 'SUCCESS', message: 'The unit test have a few of fail test case.') {sh label: '', script: 'cd $WORKSPACE && mvn clean test -Punittest -Dspring.profiles.active=unittest'}}stage("生成單元測試報告"){echo "Output jacoco report to xml"sh label: '', script: 'cd $WORKSPACE && mvn org.jacoco:jacoco-maven-plugin:report -Punittest -Dspring.profiles.active=unittest'tapdTestReport frameType: 'JUnit', onlyNewModified: true, reportPath: 'fsnsh-spring-boot-starter/target/surefire-reports/*.xml'publishCoverage adapters: [jacocoAdapter('**/target/site/jacoco/jacoco.xml')], sourceFileResolver: sourceFiles('NEVER_STORE')jacoco exclusionPattern: '**/*Test*.class', execPattern: ' **/**.exec', inclusionPattern: '**/*.class', sourceExclusionPattern:'**/src/main/java/com/hashtech/ifund/backend/**/*Example*.*,**/src/main/java/com/hashtech/ServiceApplication.java'}stage("sonarqube檢查"){sh label: '', script: 'cd $WORKSPACE && /usr/local/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=iFund-backend -Dsonar.projectName=iFund-backend -Dsonar.sourceEncoding=UTF-8 -Dsonar.sources=./src/main/java -Dsonar.java.binaries=. -Dsonar.tests=./src/test/java -Dsonar.exclusions=com/hashtech/fsnsh/backend/**/*Example*.*,com/hashtech/ServiceApplication.* -Dsonar.core.codeCoveragePlugin=jacoco -Dsonar.jacoco.reportPaths=**/target/coverage-reports/jacoco-unit.exec} } * 實現(xiàn)流水線構建更新,可以結(jié)合軟件基礎環(huán)境-6中提到的shell腳本總結(jié)
以上是生活随笔為你收集整理的Jenkins环境部署的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Confluence 6 管理协同编辑
- 下一篇: MATLAB hilbert谱 纵坐标由