一、整体流程

二、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:11016e608eae8623253ec9113ca8e345b3@jenkins.xxxxxx.net/jenkins/project/banana.xxxxxx.net

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

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

三、改进

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

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

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

git config --global credential.helper store

持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码的更多相关文章

  1. DevOps之持续集成Jenkins+Gitlab

    一.什么是DevOps DevOps(英文Development(开发)和Operations(技术运营)的组合)是一组过程.方法与系统的统称,DevOps是一组最佳实践强调(开发.运维.测试)在应用 ...

  2. 一步一步构建iOS持续集成:Jenkins+GitLab+蒲公英+FTP

    什么是持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...

  3. 持续集成之④:GitLab触发jenkins构建项目

    持续集成之④:GitLab触发jenkins构建项目 一:目的为在公司的测试环境当中一旦开发向gitlab仓库提交成功代码,gitlab通知jenkins进行构建项目.代码质量测试然后部署至测试环境, ...

  4. Jenkins集成Docker镜像实现自动发布

    1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 -- gitl实现应用打包 -- jenk ...

  5. jenkins自动发布java代码

    注:本文来源于<KaliArch> jenkins笔记 一.相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台. ...

  6. 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script

    这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...

  7. 解放双手 | Jenkins + gitlab + maven 自动打包部署项目

    前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...

  8. 自动化持续集成Jenkins

    自动化持续集成Jenkins 使用Jenkins配置自动化构建http://blog.csdn.net/littlechang/article/details/8642149 Jenkins入门总结h ...

  9. 持续集成~Jenkins构建GitHub项目的实现

    有了前两讲的基础,这回我们就可以把github上的项目做到CI(jenkins)里了,让它自动去集成部署,持续集成~Jenkins里的NuGet和MSBuild插件,持续集成~Jenkins里的pow ...

随机推荐

  1. c语言二级指针的使用,malloc内存申请

    #include<stdio.h> #include<stdlib.h> void AllocateMemory(int **pGetMemory, int n) { int ...

  2. 深入理解JavaScript之实现继承的7种方式

    1.原型链继承 核心:将父类的实例作为子类的原型 首先,要知道构造函数.原型和实例之间的关系:构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个原型对象的指针. func ...

  3. [NOI2008]假面舞会 (搜索+gcd)

    题意 LuoguP1477 题解 对于每一条边(u,v)(u,v)(u,v),建两条边(u→v,1),(v→u,−1)(u\to v,1),(v\to u,-1)(u→v,1),(v→u,−1).跑b ...

  4. Es6请求封装

    function registryToast(){ vue.prototype.$toast=showToast } export default registryToast   import './ ...

  5. Elasticsearch-head使用及ES相关概念

    elasticsearch-head安装和介绍已在上一篇讲了. 在浏览器访问http://localhost:9100,可看到如下界面,表示启动成功: 仔细观察,我们会发现客户端默认连接的是我们ela ...

  6. pandas记录

    pandas的map方法使用 import pandas as pd import numpy as np data = pd.DataFrame(np.random.randint(0, 10, ( ...

  7. dbcp_c3p0连接mysql8.0.13

    背景 学习数据库的使用,上次没有记录,现在都回忆不起来了,所以这次重新学的时候顺便记录下. 配置环境 win10 jdk11 idea mysql8.0.13 DBCP连接使用 用配置文件目前我连接不 ...

  8. ROS模拟

    亲测,在古月大大这篇博客中的一条命令最好改为rostopic pub /cmd_vel geometry/Twist -r 10 -- '[0.2,0,0]' '[0,0,0.5]'. http:// ...

  9. Tkinter 之Place布局

    一.参数说明 参数 作用 anchor  控制组件在 place 分配的空间中的位置"n", "ne", "e", "se&quo ...

  10. Tkinter 之RadioButton单选框标签

    一.参数说明 语法 作用 Radiobutton(root,text='xxxx') 单选框文本显示内容 Radiobutton(root,variable=color) 单选框索引变量,通过变量的值 ...