使用Jenkins一键打包部署SpringBoot应用

Lewis
2021-03-04 / 0 评论 / 107 阅读 / 正在检测是否收录...
Jenkins简介
Jenkins是开源CI&CD软件领导者,提供超过1000个插件来支持构建、部署、自动化,满足任何项目的需要。我们可以用Jenkins来构建和部署我们的项目,比如说从我们的代码仓库获取代码,然后将我们的代码打包成可执行的文件,之后通过远程的ssh工具执行脚本来运行我们的项目。

一:Jenkins的安装

1.下载Jenkins的Docker镜像

 docker pull jenkins/jenkins:lts

2.在Docker容器中运行Jenkins

docker run -p 8080:8080 -p 50000:5000 --name jenkins \
-u root \
-v /mydata/jenkins_home:/var/jenkins_home \
-d jenkins/jenkins:lts

3.Jenkins的配置

①、运行成功后访问该地址登录Jenkins,第一次登录需要输入管理员密码:http://IP地址:8080/,通过docker logs jenkins 查看启动日志获取initialAdminPassword密码

docker logs jenkins

image-20210304172455798

image-20210304172739149

image-20210304173402716

image-20210304173438555

确保以下插件被正确安装

1.根据角色管理权限的插件:Role-based Authorization Strategy

2.远程使用ssh的插件:SSH

image-20210304173652058

②、通过系统管理->全局工具配置来进行全局工具的配置,比如maven的配置

新增maven的安装配置:

image-20210304174257781

③、在系统管理->系统配置中添加全局ssh的配置,这样Jenkins使用ssh就可以执行远程的linux脚本了:

image-20210304180121627

④、角色权限管理

我们可以使用Jenkins的角色管理插件来管理Jenkins的用户,比如我们可以给管理员赋予所有权限,运维人员赋予执行任务的相关权限,其他人员只赋予查看权限。

在系统管理->全局安全配置中启用基于角色的权限管理:

img

⑤、进入系统管理->Manage and Assign Roles界面:

img

⑥、添加角色与权限的关系:

img

二、Docker安装Gitlab (https://www.cnblogs.com/diaomina/p/12830449.html)

# 1、查找GitLab镜像
docker search gitlab

# 2、拉取gitlab docker镜像 
docker pull gitlab/gitlab-ce:latest

# 3、运行GitLab并运行容器 
docker run \
 -itd  \
 -p 9980:80 \
 -p 9922:22 \
 -v /usr/local/gitlab/etc:/etc/gitlab  \
 -v /usr/local/gitlab/log:/var/log/gitlab \
 -v /usr/local/gitlab/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab \
 gitlab/gitlab-ce
 
 # 4进入容器内
 docker exec -it gitlab /bin/bash
 
 # 5、修改gitlab.rb (先查看下一个步骤再决定是否进行本步骤,本步骤是可以跳过的) 
 # 打开文件
vi /etc/gitlab/gitlab.rb
 
# 这个文件是全注释掉了的,所以直接在首行添加如下配置
  
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口 (图片上拼写错误,正确的是external_url)
external_url 'http://172.16.107.194:9980'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '172.16.107.194'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922

# 6、修改gitlab.yml (这一步原本不是必须的,因为gitlab.rb内配置会覆盖这个,为了防止没有成功覆盖所以我在这里进行配置,当然你也可以选择不修改gitlab.rb直接修改这里)
# 打开文件
vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

# 配置一:找到gitlab标签,将其子标签如下修改
hotst:172.16.107.194
port: 9980
https: false
ssh_host:172.16.107.194

# 配置二:找到gitlab_shell标签下的ssh_port,将其修改为9922

# 7、让修改后的配置生效
gitlab-ctl reconfigure

# 8、重启gitlab 
gitlab-ctl restart

命令解释:
-i 以交互模式运行容器,通常与 -t 同时使用命令解释:

-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用

-d 后台运行容器,并返回容器ID

-p 9980:80 将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口

-p 9922:22 将容器内22端口映射至宿主机9922端口,这是访问ssh的端口

-v /usr/local/gitlab-test/etc:/etc/gitlab 将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样

--restart always 容器自启动

--privileged=true 让容器获取宿主机root权限

--name gitlab-test 设置容器名称为gitlab-test

gitlab/gitlab-ce 镜像的名称,这里也可以写镜像ID

将代码上传到Git仓库

执行脚本准备

0

评论

博主关闭了当前页面的评论