持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码相关的知识,希望对你有一定的参考价值。

一、整体流程

技术图片

二、Jenkins 配置

2.1、首先安装插件

  • Gitlab Hook Plugin
  • GitLab Plugin
  • Publish Over SSH

2.2、配置目标服务器

系统管理 ---> 系统设置 ---> Publish over SSH

技术图片

如果不想使用密钥认证登陆,也可以使用 账户密码登陆。

技术图片

2.3、创建 job

我们创建一个自由风格的 job,配置好 git 源,这里也可以配置无密钥登陆,我这里使用账户密码。

技术图片

创建触发器,用于自动构建,我们需要把其中的 url 添加到我们的 gitlab 上面,提交代码,可以触发构建,稍后演示。

技术图片

填写构建内容。

技术图片

2.4、配置 gitlab 触发

gitlab 的 webhooks url 是根据 jenkins 构建权限连接设置的,如果必须登录才能构建就必须获取 jenkins 的用户名及token,可以在jenkins用户--->设置里面查看到 ,url格式:

http://<username>:<api-token>@<jenkins-server>/

首先去生成 token。

技术图片

然后我的触发URL如下:

http://user:[email protected]/jenkins/project/banana.xxxxxx.net

最后测试一下,看看是不是正确。

如果没有添加用户信息认证,可能会报下面的错误:

技术图片

技术图片

三、改进

既然我们是纯静态的文件,不需要构建,为啥不直接传递命令,在服务器上面 git 的呢,这样速度更快,之前还需要把代码从源仓库拉下来,然后整个传到相应的目录下面,过程比较慢。

我们调整 Job 去掉源,然后把构建项目修改为如下:

技术图片

如果大家使用 http 协议的 git 拉取代码,会每次让输入账号密码,我们可以使用下面命令对认证信息进行保存:

git config --global credential.helper store

以上是关于持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins——持续集成介绍及Jenkins安装部署(插件+用户权限+凭据+Maven打包)

1.GitLab和Jenkins 结合构建持续集成(CI)环境

gitlab+jenkins+maven+docker持续集成——.Jenkins Pipeline持续集成

《持续集成实践指南》第2章 持续集成环境搭建Jenkins+Gitlab+Gerrit

Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

GitLab+Jenkins结合构建持续集成(CI)环境