jenkins部署gitlab上的項(xiàng)目

環(huán)境:
1.ubuntu18
2.docker
3.jenkins
4.gitlab項(xiàng)目

jenkins插件配置

Jenkins要實(shí)現(xiàn)持續(xù)集成自動部署需要安裝 :
1.Publish Over SSH
2.gitlab

  1. Gitlab Hook
    4.Maven Integration
    5.Generic Webhook Trigger

Git等幾個插件


插件管理
查看已經(jīng)安裝的插件

jenkins上集成gitlab插件

系統(tǒng)配置-->系統(tǒng)配置-->Gitlab


gitlab設(shè)置

host url填寫gitlab服務(wù)器地址
Credentials配置如下


image.png

api token從gitlab 用戶設(shè)置中獲取,如下圖

image.png

設(shè)置SSH:Publish over SSH

image.png

同時配置服務(wù)器的ssh賬號密碼

設(shè)置jenkins的JDK

一開始使用ubuntu的jdk地址,報(bào)錯 (jdk path) is not a directory on the Jenkins master (but perhaps it exists on some agents)


image.png

如果出現(xiàn)以上問題,就需要將本地的jdk掛載到j(luò)enkins容器后重啟
啟動:
-v命令進(jìn)行掛載,其中冒號前面的是本機(jī)的目錄,將本機(jī)的javahome和mavenhome的路徑,掛載到Jenkins容器上,冒號后面是容器上的目錄,可以寫跟本機(jī)目錄相同。

docker ps
docker stop 4fe6ce853e7c(CONTAINER ID) 
docker run -d --name jenkins_01 -p 8081:8080 -v /usr/lib/jvm/java-8-openjdk-amd64/bin/java:/usr/lib/jvm/java-8-openjdk-amd64/bin/java -v /usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64 -v /home/jenkins_01:/home/jenkins_01 jenkins:jenkins:latest

或者勾選自動安裝

添加不同的gitlab認(rèn)證方式

image.png

配置git地址

image.png

加入maven命令

image.png

配置ssh傳輸路徑以及自定義shell腳本

image.png
echo "run.sh start..."
docker --version
SERVER_NAME=demo-api1
cd /data/app/
echo "docker build start..."
docker build -t $SERVER_NAME /data/app/demo-api1/
echo "docker build end..."
cid=$(docker ps -a| grep "$SERVER_NAME" | awk '{print $1}')

if [ "$cid" != "" ]; then
        docker rm -f $cid
fi

docker run \
-d \#后臺運(yùn)行
-e TZ="Asia/Shanghai" \ #設(shè)置時區(qū)
-p 8000:8000 \#宿主機(jī)器端口與容器端口綁定
 -v /data/app/demo-api1/:/home/docker_app/demo-api1/  \#文件夾掛載,前面是宿主服務(wù)器路徑,后面是容器的路徑,兩個路徑下內(nèi)容同步
--name demo-api1 \ #容器名稱
 --privileged=true  \ #是否擁有特權(quán)
 --net=host \#[docker的四種網(wǎng)絡(luò)模式](https://www.cnblogs.com/gispathfinder/p/5871043.html)
 java:8 java \ #容器版本:tag
-jar /home/docker_app/demo-api1/demo-api1.jar --spring.profiles.active=pro 
#容器啟動后啟動jar
echo "run.sh end..."

Dockerfile

主要用于鏡像在當(dāng)前目錄上下文查找文件,并將文件同步到鏡像

FROM java:8
EXPOSE 8000
ADD demo-api1.jar /home/docker_app/demo-api1/demo-api.jar
ENTRYPOINT ["java","-jar", "demo-api1.jar"]

啟動成功后查看

docker ps -a 
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容