目录

一、安装Jenkins插件

二、创建gitlab账号

三、配置gitlab私钥,jenkins公钥。

安装Git

生成私钥,公钥

配置gitlab私钥

配置jenkins公钥

配置jdk、maven、git路径

配置Maven加速镜像

四、自动化搭建部署

新建任务

构建Maven项目

添加选择分支构建

源码构建

构建触发器

build

Post Steps

项目选择分支构建


一、安装Jenkins插件

Credentials            # 签名证书管理插件
Gitlab 		 	       # 安装后从GitLab获取代码
Git和Git Client        # 用于Jenkins在GitLab中拉取源码
Gitlab Authentication  # GitLab和Jenkins认证插件
Publish Over SSH       # 用于通过SSH部署应用
Maven Integration      # 提供Jenkins和Maven之间的深度集成
Docker				   # 此插件将Jenkins与Docker集成
docker-build-step      # 该插件允许将各种docker命令作为构建步骤添加到您的作业中
Yet Another Docker	   # 又一个Docker插件。提供docker云供应
Git Parameter          # 增加了从项目中配置的git存储库中选择分支、标记或修订的功能。

        安装完成后重启Jenkins

二、创建gitlab账号

        登录The DevSecOps Platform | GitLab官网,注册属于自己的Gitlab账号信息。

三、配置gitlab私钥,jenkins公钥。

安装Git

        yum install git

安装完成后输入 git --version 查看是否安装成功,如下图所示则安装成功!

设置Git的用户名和邮箱

git config --global user.name "gitlab用户名"
git config --global user.email "你的邮箱"

输入git config --list查看是否配置成功。

生成私钥,公钥

        ssh-keygen -t rsa -C "你的邮箱"

        文件生成时会自定义文件名(文件路径保持不变),默认为id_rsa,因为本人还有gitHub、gitee等仓库,所以此处定义为id_rsa_gitlab,便于区分。

        然后将私钥通过命令ssh-add ~/.ssh/id_rsa_gitlab添加到ssh-agent,但是会报下述错误Could not open a connection to your authentication agent,需要执行命令ssh-agent bash,然后再执行命令ssh-add ~/.ssh/id_rsa_gitlab即可。

        在/root/.ssh下创建config文件:vi config 输入以下配置信息,保存退出。

Host gitlab.com
    HostName gitlab.com
    IdentityFile ~/.ssh/id_rsa_gitlab

        配置sshd_config,vi /etc/ssh/sshd_config

UsePAM yes
PasswordAuthentication yes
ChallengeResponseAuthentication no

        重启sshd:systemctl restart sshd

配置gitlab私钥

        将id_rsa_gitlab.pub私钥拷贝,点击添加新密钥,

        黏贴进密钥,最后点击添加密钥添加。

        输入 ssh -T git@gitlab.com 验证电脑是否与gitlab建立连接,如下图所示则连接成功!

配置jenkins公钥

        进入Jenkins配置凭据。

        选择存储Jenkins。

        点击全局凭据。

        添加凭据

        配置ssh密钥类型凭据。

        配置用户名密码模式类型凭据。

配置jdk、maven、git路径

        Manage Jenkins -> Global Tool Configuration,开始jdk、maven、git配置

  • JDK

  • Maven

  • Git

        最后应用保存。

配置Maven加速镜像

        vi /home/maven/apache-maven-3.9.4/conf/settings.xml,添加如下配置信息:

<mirrors>
	<mirror>
	    <id>alimaven</id>
	    <name>aliyun maven</name>
	    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
	    <mirrorOf>central</mirrorOf>
	</mirror>
</mirrors>

四、自动化搭建部署

新建任务

构建Maven项目

添加选择分支构建

        前面装的Git Parameter,就是为了增加从项目中配置的git存储库中选择分支、标记或修订的功能。

添加Git参数

参数配置

源码构建

添加Git仓库链接、选择凭证。

指定分支,输入自定义的Git参数名称。

构建触发器

build

        添加clean package -Dmaven.test.skip=true,清除并编译打包,不执行测试用例,也不编译测试用例

Post Steps

        只会在项目build成功后执行shell脚本。

        shell脚本如下(包含docker删除容器、删除镜像、打镜像、部署镜像、查看日志脚本)

echo "进入镜像路径"
cd /var/lib/jenkins/workspace/docker打包镜像测试

# 镜像名称
CONTAINER_NAME='animalhomecs'
# Checking if docker container with $CONTAINER_NAME name exists.
# 查看是否有animalhomecs容器在运行,若有则先停再删,反之不操作。
COUNT=$(docker ps -a | grep "$CONTAINER_NAME" | wc -l)
if (($COUNT > 0)); then
    echo 'container exists'
    docker stop ${CONTAINER_NAME}
    docker rm ${CONTAINER_NAME}
fi

# 查看是否有animalhomecs镜像,若有则删除,反之不操作。
COUNT1=$(docker images | grep "$CONTAINER_NAME" | wc -l)
if (($COUNT1 > 0)); then
    echo 'container exists'
	docker rmi ${CONTAINER_NAME}
fi

# 构建animalhomecs镜像,这个.的作用是在构建时会去找项目下的Dockerfile文件执行。
docker build -t animalhomecs .
# 开启8081端口,运行animalhomecs项目
docker run -d -p 8081:8081 --name animalhomecs animalhomecs:latest
# 打印日志查看启动情况
docker logs --tail 1000 animalhomecs

        将shell脚本添加进去即可。

        因为docker build -t animalhomecs .会去找项目下的Dockerfile文件,所以我们需要在项目下添加Dockerfile,并写入shell脚本。

        Dockerfile脚本如下:

# 基础镜像
FROM  openjdk:8-jre
# 挂载目录(可更换)
VOLUME /root
# 创建目录(可更换和上面保持一致)
RUN mkdir -p /home/luo
# 指定路径(可更换和上面保持一致)
WORKDIR /home/luo
# 复制jar文件到路径(YouName=换成你的=jar包名称)
COPY ./target/animalHome-0.0.1-SNAPSHOT.jar /home/luo/animalHome.jar
# 启动认证服务
ENTRYPOINT ["java","-jar","/home/luo/animalHome.jar"]

        最后应用再保存。

项目选择分支构建

开始构建

查看日志

构建成功

访问项目,正常访问!

上一篇:Jenkins修改插件下载地址与安装中文插件 

下一篇:【进阶】Jenkins集成GitLab Webhooks自动化构建

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐