企業(yè)網(wǎng)站模板建站流程百度如何購(gòu)買(mǎi)關(guān)鍵詞
個(gè)人目前理解jenkins部署分為兩步:
- 構(gòu)建項(xiàng)目,如生成jar
- 自動(dòng)執(zhí)行sh腳本
如果沒(méi)有jenkins,我們可能需要將jar移動(dòng)到服務(wù)器,然后執(zhí)行java -jar跑程序,jenkins可以替代我們執(zhí)行這些東西,下面從0開(kāi)始(僅供參考,也是個(gè)人記錄)
為啥不用docker安裝jenkins,因?yàn)榭佣?#xff0c;下面步驟,如果你們系統(tǒng)有jdk,mvn,git環(huán)境,就自動(dòng)跳過(guò)
文末提供演示案例
安裝jdk1.8環(huán)境(最新版本的jenkins需要jdk11+)
cd /usr/localmkdir javacd javawget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"tar -zxvf jdk-8u141-linux-x64.tar.gzrm -rf jdk-8u141-linux-x64.tar.gzvim /etc/profileexport JAVA_HOME=/usr/local/java/jdk1.8export PATH=$PATH:$JAVA_HOME/binsource /etc/profilejava -versionecho $JAVA_HOME
安裝mvn環(huán)境
cd /usr/localmkdir mavenwget https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz --no-check-certificatetar -zxvf apache-maven-3.6.1-bin.tar.gzrm -rf apache-maven-3.6.1-bin.tar.gzcd /usr/local/maven/mkdir repovim conf/settings.xml #修改配置文件,找到如下修改
<localRepository>/usr/local/maven/repo</localRepository><mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf></mirror>export MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1 export PATH=$MAVEN_HOME/bin:$PATHsource /etc/profilelsmvn -vecho $MAVEN_HOME
安裝git
yum install git -y
安裝jenkins環(huán)境
#安裝jenkins(最新版的jenkins需要jdk11,所以需要對(duì)應(yīng)的版本信息)
wget https://repo.huaweicloud.com/jenkins/redhat-stable/jenkins-2.346.3-1.1.noarch.rpmrpm -ivh jenkins-2.346.3-1.1.noarch.rpmecho $JAVA_HOME#candidates添加JAVA_HOME路徑
vim /etc/init.d/jenkins vim /etc/sysconfig/jenkins#將JENKINS_USER="jenkins 改為 JENKINS_USER="root"
systemctl start jenkins#設(shè)置jenkins開(kāi)機(jī)自啟動(dòng)
systemctl enable jenkins.service#查看jenkins運(yùn)行狀態(tài)
systemctl status jenkins.service# cat /var/lib/jenkins/secrets/initialAdminPassword
#項(xiàng)目路徑 /var/lib/jenkins/workspace/
配置jenkins
找到 Global Tool Configuration,這里的配置,都是自己安裝的,不依賴(lài)jenkins,這樣個(gè)人覺(jué)得可控
jenkins需要安裝maven插件,在plugin那里,自行百度一下
測(cè)試jenkins一鍵部署
準(zhǔn)備環(huán)境:
centos7
jenkins
java項(xiàng)目(github地址,由于github網(wǎng)絡(luò)較差,我使用giteegitee地址,配置是一樣的)
其他,docker,docker-compose(安裝docker,docker-compose),模擬依賴(lài)mysql,redis
- 新建項(xiàng)目
2. 配置
賬號(hào)密碼自己搞一下,我比較懶
附上腳本
說(shuō)明:先用mvn編譯,再把腳本移到 /home/compose下,執(zhí)行 start.sh
dos2unix Window文件轉(zhuǎn)linux文件,沒(méi)有就yum installl 下載一個(gè)
cp 里面有個(gè)$JOB_NAME,這個(gè)是jenkins的環(huán)境變量,也就是項(xiàng)目名稱(chēng)
jenkins會(huì)把項(xiàng)目文件放在/var/lib/jenkins/workspace里面
附:這套流程下來(lái),會(huì)遇到各種問(wèn)題,道友們自己加油解決,本身流程是沒(méi)有問(wèn)題的
echo "構(gòu)建開(kāi)始"
mvn clean install -Dmaven.test.skip=true
echo "構(gòu)建成功"
echo '初始化部署腳本'
rm -rf /home/compose
mkdir /home/compose
chmod 777 /home/compose
cp /var/lib/jenkins/workspace/$JOB_NAME/src/main/docker/docker-compose.yml /home/compose/
cp /var/lib/jenkins/workspace/$JOB_NAME/src/main/docker/start.sh /home/compose/
cp /var/lib/jenkins/workspace/$JOB_NAME/src/main/docker/Dockerfile /home/compose/
cp /var/lib/jenkins/workspace/$JOB_NAME/target/compose-demo-1.0-SNAPSHOT.jar /home/compose/
echo '初始化腳本完成'
echo '執(zhí)行shell腳本'
cd /home/compose
echo 'dos2unix格式化sh腳本'
dos2unix start.sh
sh start.sh
echo 'shell腳本執(zhí)行成功'
道友們加油
成功結(jié)果:
jenkins pipeline-script參考下篇文章