美文网首页
jenkins部署gitlab上的项目

jenkins部署gitlab上的项目

作者: 工木南ng | 来源:发表于2020-04-23 23:39 被阅读0次

环境:
1.ubuntu18
2.docker
3.jenkins
4.gitlab项目

jenkins插件配置

Jenkins要实现持续集成自动部署需要安装 :
1.Publish Over SSH
2.gitlab

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

Git等几个插件


插件管理 查看已经安装的插件

jenkins上集成gitlab插件

系统配置-->系统配置-->Gitlab


gitlab设置

host url填写gitlab服务器地址
Credentials配置如下


image.png

api token从gitlab 用户设置中获取,如下图

image.png

设置SSH:Publish over SSH

image.png

同时配置服务器的ssh账号密码

设置jenkins的JDK

一开始使用ubuntu的jdk地址,报错 (jdk path) is not a directory on the Jenkins master (but perhaps it exists on some agents)


image.png

如果出现以上问题,就需要将本地的jdk挂载到jenkins容器后重启
启动:
-v命令进行挂载,其中冒号前面的是本机的目录,将本机的javahome和mavenhome的路径,挂载到Jenkins容器上,冒号后面是容器上的目录,可以写跟本机目录相同。

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认证方式

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 \#后台运行
-e TZ="Asia/Shanghai" \ #设置时区
-p 8000:8000 \#宿主机器端口与容器端口绑定
 -v /data/app/demo-api1/:/home/docker_app/demo-api1/  \#文件夹挂载,前面是宿主服务器路径,后面是容器的路径,两个路径下内容同步
--name demo-api1 \ #容器名称
 --privileged=true  \ #是否拥有特权
 --net=host \#[docker的四种网络模式](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

主要用于镜像在当前目录上下文查找文件,并将文件同步到镜像

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

相关文章

网友评论

      本文标题:jenkins部署gitlab上的项目

      本文链接:https://www.haomeiwen.com/subject/gcizihtx.html