Jenkins-Docker 安装

12/29/2021 LinuxDockerJenKins

摘要

Docker CE Version:20.10.10
Centos Version:CentOS Linux release 7.9.2009 (Core)
Jenkins Version:2.319.1

# 一:下载镜像

根据Jenkins官网, Docker 安装 (opens new window) 小节,可以看到官方推荐使用的镜像为 jenkinsci/blueocean,该镜像包含当前的长期支持 (LTS) 的 Jenkins 版本 (可以生产使用) ,并捆绑了所有 Blue Ocean 插件和功能。

如果使用其他 Jenkins 的镜像,其集成的 Jenkins 版本比较高,可能会出现好多插件不兼容的情况

使用 docker pull 命令拉取 jenkinsci\blueocean

docker pull jenkinsci/blueocean
1

docker pull

验证本地镜像仓库是否已存在:

验证

# 二:运行容器

现在,基于下载的镜像运行 Jenkins 容器,同时再宿主机创建一个数据卷 jenkins-data,容器映射该卷以持久化数据

docker run \
  -u root \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
1
2
3
4
5
6
7
8
9

运行image

8080 端口用来公开访问 Web 界面,50000 端口允许远程远程 Java(JIRA)API

使用 docker ps 命令验证容器是否已经后台运行:

验证

# 三:配置Jenkins

# 3.1 访问Web

以上如果一切正常,现在就可以通过 http://<ipaddress>:8080 访问 Jenkins 的 Web 界面了。

访问web

# 3.2 解锁Jenkins

管理员初始密码被放到了 /var/jenkins_home/secrets/initialAdminPassword 文件中。

因为 Jenkins 部署在 Docker 容器中,因此需要先进入到容器,再去查看对应的文件 initialAdminPassword 内容:

## 进入docker容器
> docker exec -it jenkins-blueocean /bin/bash
## 查看文件记录的密码
> cat /var/jenkins_home/secrets/initialAdminPassword
1
2
3
4

查看密码

上面运行截图中的 001a14eb1f39424bbc635f7fce545995 便是需要的管理密码,复制并粘贴到 Web 界面,点击继续即可解锁 Jenkins。

# 3.3 安装插件

自定义插件

Jenkins 可以说完全由插件来驱动的,所以安装一些基础的插件是非要必要的,这里我们选择 安装推荐的插件 ,然后静静地等待插件安装完成即可。

安装插件

# 3.4 创建用户

创建用户

根据提示创建一个新的管理员用户,自行填写即可。

# 3.5 实例配置

实例配置

看看提示,没有问题就点 保存并完成 即可。

至此,Jenkins 初始化配置过程也就完成了。正式开启你的 持续集成&持续部署 之旅吧!

配置完成

# 四:前端自动部署

# 4.1 安装相关插件

首页,左侧 Manage Jenkins(或系统管理) 选择 Manager Plugins(或插件管理)

Manager Plugins

Manager Plugins

再Manager Plugins搜索以下插件 nodejsPublish Over SSHgitlabgitee 进行安装

安装nodejs

# 4.2 配置Nodejs

安装完成后配置nodejs,在首页选择 Manage Jenkins(或系统管理) > global tool Configuration(或全局工具配置) > NodeJS 选择自动安装和对应的nodejs版本号,选择成功后点击保存。尽可能选择合适的nodejs版本

配置Nodejs

# 4.3 配置SSH

配置ssh信息,Manage Jenkins(或系统管理) > configure System(或系统配置) 填写服务器的相关信息。

系统配置

配置SSH

# 4.4 配置gitee

本次采用Gitee API 令牌方式,所以先要获取Gitee APIV5 私人令牌,点击获取 (opens new window)

gitee私人令牌

创建私人令牌

创建完成

配置gitee信息,Manage Jenkins(或系统管理) > configure System(或系统配置) 填写服务器的相关信息。同时需要把前面获取的Gitee APIV5 私人令牌新增到 Jenkins,点击添加

填写服务器相关信息

最后记得点 保存

# 五:新建任务

# 5.1 新建项目

首页,右边选择 新建任务 > 构建一个自由风格的软件项目

创建项目

# 5.2 源码管理

  • 选择 Git 选项
  • Repository URL:创建的git项目地址
  • Credentials:点击添加一个凭据(注意 Gitee API Token 凭据不可用于源码管理的凭据,只用于 gitee 插件的 API 调用凭据)
  • 指定分支:master

源码管理

# 5.3 触发器配置

这里选择配置 push 代码立即触发构建任务,勾选 Gitee webhook触发构建,后面有个地址这个后面需要配置到GiteeGitee触发构建策略勾选推送代码,其他先默认就行。记住 URL 后面填写 WebHook 有用。

构建触发器

后面有个 Gitee WebHook密码 栏位需要配置到Gitee,点击生成就会生成一个密码:

生成webHook密码

打开 Gitee 项目的管理选项卡,左侧有个[WebHooks]菜单 ,点击【添加webHook】,将上面的 URL密钥 填入。

填WebHooks

# 5.4 构建环境

修改构建任务的构建环境,勾选 Provide Node & npm bin/ folder to PATH ,默认会选择Jenkins安装的NodeJS版本:

构建环境

# 5.5 构建脚本

  • [添加构建步骤] 新增 执行 shell,进行 vue安装打包
node -v
npm -v
npm install
npm run build
tar -zcvf dist.tar ./dist
1
2
3
4
5
  • [添加构建步骤] 新增 Send files or execute commands over SSH
cd /usr/share/nginx/html/
rm -rf dist
tar -zxvf dist.tar
rm -rf dist.tar
1
2
3
4

构建脚本

# 六:构建

构建

成功

# 七:参考文献

最后更新: 2/8/2022, 1:28:31 PM