自己造輪子 項目自動化DevOps(基於Jenkins,Docker)
源碼地址 https://github.com/panjianlong13/DuDuMall_BackEnd
安裝部署Jenkins
兩種方式
1.普通方式(此處不再贅述)
https://blog.csdn.net/zjh_746140129/article/details/80835866
2.容器方式
#拉取Jenkins鏡像
docker pull jenkins
#創建目錄賦權限
mkdir /home/jenkins
ls -nd jenkins
chown -R 1000:1000 jenkins/
#啓動Jenkins 並掛載文件目錄
docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/jenkins:/var/jenkins_home jenkins
訪問地址8080端口出現安裝嚮導
編寫Jenkins Job實現自動打包部署
完成Jenkins基本配置後,點擊加號新建DuDuMall相關的View(分組)
點擊New Item新建Job
配置代碼源
配置Job Trigger,每分鐘Check一次是否有push
編寫Build Shell腳本,實現自動打包部署Docker容器
#!/bin/bash
echo "----- start of job -----"
######## initialize params ########
IMG_NAME='dudumall-backend-auth'
APP_NAME='dudumall-backend-auth'
ENVIRONMENT='dev'
PRJ_NAME='dudumall'
port=8090
pwd
cd /root/.jenkins/workspace/DuDuMall_Auth/DuDuMall_BackEnd_Auth
pwd
echo "----- Build Jar -----"
mvn clean package
echo "----- Build Image -----"
ls
docker build -t dudumall-backend-auth .
echo "----- Tag and push Docker Image -----"
docker tag $IMG_NAME:latest $IMG_NAME:latest
echo "----- Stop Running Docker Container -----"
docker stop $APP_NAME
docker rm -v $APP_NAME
echo "----- Stop Running Docker Container -----"
docker run -d --name $APP_NAME -p $port:$port $IMG_NAME
echo "----- end of job -----"
Push代碼,查看Jenkins Job是否被觸發