一看就懂!Docker + Jenkins + GitLab + Nginx 整合自动化部署

以下步骤也是我第一次边学习边记录进行,可能会出现前后不对应情况,应该自己也走了几次岔路。

1.安装docker(略)
2.安装nginx(这里用的是非docker版,安装过程略。公司要求~)
3.安装Jenkins
3.1拉取镜像

docker pull jenkinsci/blueocean
注意:通过dockers search jenkins发现第一个被显示为官方构建的镜像。但安装完毕后,发现许多插件都报无法安装。

我从官方仓库的web界面去搜索,才发现镜像 jenkins 的介绍里,说该镜像已经被deprecated了,官方建议使用 jenkins/jenins

3.2配置jenkins相关目录,并给予对应的权限

mkdir -p /var/jenkins_home
chown -R 1000  /var/jenkins_home
3.3安装容器 

docker run -p 8080:8080 -p 50000:50000 --name jenkins -v /var/jenkins_home:/var/jenkins_home jenkinsci/blueocean
这里需要注意 -v /var/jenkins_home:/var/jenkins_home 意思是将docker容器里的/var/jenkins_home挂载到外面/var/jenkins_home路径,即docker容器内的/var/jenkins_home下添加一个aa.txt,外部/var/jenkins_home下也会有aa.txt。类似于虚拟路径概念。

这里不建议你修改这个路径,否则后患无穷。

3.4留意控制台输出解锁密码,记下来

3.5打开浏览器输入ip:8080访问jenkins解锁界面输入上面的密码

3.6选择安装推荐插件

3.7等待下载插件(这里要下载很久很久,而且会因为网络原因失败,但不要担心,后面可以按需安装。如果不是新手可以选择自定义安装插件,选择所需插件即可)

3.8安装完成后新建用户密码,也可以用admin账户

然后jenkins就安装成功了

3.9安装插件 看图:

安装插件前可以进入高级-》升级站点更换镜像

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

安装 Git plugin、GitLab 即可。

4.编写本地静态文件
这里我快速随便写了一些文件

5.创建GitLab仓库
5.1创建仓库

6.pull本地项目到GitLab上(懂得可以略过)
6.1切换至项目目录

6.2打开GitBash窗口

6.3输入 git init 初始化git项目

目录下会多一个.git

6.4输入 git add . (注意有一个小数点)把项目下所有文件添加到git版本控制

文件会多个红色感叹号,忘记截图了 

6.5输入 git commit -m "注释",提交到本地仓库

可以看见文件从红色感叹号变成绿勾,证明已经上传到本地仓库。

6.6复制下GitLab上的Clone with HTTP链接

6.7执行命令git pull https://gitlab.com/xxxx/xxx.git master --allow-unrelated-histories,注意--后面表示允许不相干的两个仓库合并,因为我们之前两个仓库是完全独立的,所以直接是没办法pull下来,需要加上后面参数才行

6.8接着提示你输入你的GitLab的用户名密码

6.9 执行命令 git remote add origin https://gitlab.com/xxxx/xxx.git 关连本地仓库和远程仓库

6.10 执行命令 git push -u origin master 将项目push上远程仓库

7.jenkins新建项目


7.1 配置源码管理

输入Clone的URL 红色字不要慌,点击添加凭证

输入gitlab的用户名密码

添加后下拉框选择,红色警告就消失了。

7.2 构建触发器配置

记录下url以及选择 On push to source or target branch

然后点击高级-》Generate生成Secret token,记下token

保存。

8. 配置gitlab hook
来到GitLab中打开 Setting-》Integrations

输入URL和token(就是上一步说要记下来的),然后点击Add webhook.

9.测试
在GitLab刚刚的页面下有个Test按钮,点击Push event。

如果成功将会刷新出下面这个提示

回到jenkins页面可以看到构建成功。

点击去可以查看控制台信息(略)

我们可以使用命令 docker exec -it jenkins bash 进入jenkins容器,cd /var/jenkins_home/workspace即可看到我们上传的代码,随后exit退出容器,进入/var/jenkins_home/workspace下我们也可以看到代码。但是并没有完,我们还需要把文件复制到nginx目录下进行访问。

10.复制到nginx
这里公司要求先建一个静态资源文件服务器(emmm我觉得没必要),这都不是关键。关键是jenkins设置中还有一个很好用的东西,在构建时执行shell,才是真正实现自动化测试部署的利器。

打开Jenkins 项目设置,在构建模块,构建shell,在下面即可输入自己的shell指令。

例如显示当前目录

最终在构建时候就会执行pwd命令

同时自动拉取代码。

这里需要注意的是一开始我写的是index.html ,会直接显示页面而不是目录,因此需要改成其他名称。

至此基础的搭建整合就完成了。如有什么bug漏洞欢迎留言。 

有什么问题可以评论或者私信我,每日在线解(LIAO)疑(SAO)。

我是大誌,一位准备996的卑微码农🐶,觉得好用记得点赞收藏!!!
————————————————
版权声明:本文为CSDN博主「大誌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42236404/article/details/104702253

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值