jenkins+gitlab自动化部署

26 篇文章 2 订阅
12 篇文章 0 订阅

本次部署前提

1、搭建好jenkins,搭建文档地址:https://blog.csdn.net/baidu_38432732/article/details/80499898

2、搭建好gitlab,搭建文档地址:https://blog.csdn.net/baidu_38432732/article/details/90371731

3、私有仓库的搭建文档(本文档没有登录账号和密码的私有镜像库):

       1)没有登录账号和密码:https://blog.csdn.net/baidu_38432732/article/details/90405049

       2)有登陆账号和密码:https://blog.csdn.net/baidu_38432732/article/details/95737742

jenkins构建部署思路:

在jenkins主机上编写docker制作镜像并将镜像上传到私有库的脚本,然后在jenkins里调用jenkins主机上脚本,接着就在目标主机pull镜像并启动镜像

一、配置jenkins

1、安装和gitlab有关的插件

2、置jenkins和gitlab密钥对

首先我们配置ssh密钥对,让jenkins和gitlab通信无需密码,直接用密钥认证

在linux终端

ssh-keygen -t rsa            #一路回车 会在/root/ 生成.ssh/目录 里边有rsa rsa.pub 两个文件

点OK。

3、把.ssh目录的另一个rsa.pub放到这

先点右上角头像-settings,出现如图点ssh密钥

4、构建git+maven项目,

 

调用jenkins服务器上的脚本

远程主机上执行的脚本

二、gitlab上的配置

1、查看配置时所需的url值

2、配置webhook

点击add webhook时我们出现一下报错

解决办法

用管理员账号登录

然后重新加入

补充相关的脚本

脚本一:

制作镜像脚本以及将镜像上传到我们的私有库上(ip是私有库地址,此脚本的必须和Dockerfile在同一级目录,或者我们将docker build -t mall-admin:vtest . 中的最后那个点改成Dockerfile的路径)

#!/bin/bash
rm *.jar
cp 项目路径/target/mall-admin*.jar mall-admin.jar #把jir包拷贝到我们脚本执行的目录下(也可以自定义路径,自定义路径时,注意jar包和dockerfile路径都要写绝对路径)
docker build -t mall-admin:$1 . # 制作镜像
docker tag mall-admin:vtest ip:5000/mall-admin:$1 # 镜像做tar标记
docker push ip:5000/mall-admin:vtest # 将镜像上传致我们的镜像库,一般都是私有镜像库

 

Dockerfile:

FROM java:8

VOLUME /app

COPY mall-admin*.jar mall-admin.jar

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

RUN bash -c "touch /mall-admin.jar"
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./uranedom","-jar","-Dspring.profiles.active=docker-linux", "-Duser.timezone=GMT+08", "/mall-admin.jar"]

2、在目标服务器上的启动脚本

docker stop mall-task # 停止原来的容器
docker rm mall-task # 删除容器,线上环境不建议操作
docker rmi ip:5000/mall-task:$2 删除镜像
docker run --name mall-task -v /config/application_task.yml:/application_task.yml -v /var/log/task:/var/logs -e spring.config.location=/application_task.yml -d -p 8090:8090 ip:5000/mall-task:$1 #挂载式启动

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunson_Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值