持续集成 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:11016e608eae8623253ec9113ca8e345b3@jenkins.xxxxxx.net/jenkins/project/banana.xxxxxx.net
最后测试一下,看看是不是正确。
如果没有添加用户信息认证,可能会报下面的错误:


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

如果大家使用 http 协议的 git 拉取代码,会每次让输入账号密码,我们可以使用下面命令对认证信息进行保存:
git config --global credential.helper store
持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码的更多相关文章
- DevOps之持续集成Jenkins+Gitlab
一.什么是DevOps DevOps(英文Development(开发)和Operations(技术运营)的组合)是一组过程.方法与系统的统称,DevOps是一组最佳实践强调(开发.运维.测试)在应用 ...
- 一步一步构建iOS持续集成:Jenkins+GitLab+蒲公英+FTP
什么是持续集成 持续集成是一种软件开发实践,即团队开发成员经常集成它们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来 ...
- 持续集成之④:GitLab触发jenkins构建项目
持续集成之④:GitLab触发jenkins构建项目 一:目的为在公司的测试环境当中一旦开发向gitlab仓库提交成功代码,gitlab通知jenkins进行构建项目.代码质量测试然后部署至测试环境, ...
- Jenkins集成Docker镜像实现自动发布
1. 思路&流程 Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:Jenkins 拉去远端源码 -- gitl实现应用打包 -- jenk ...
- jenkins自动发布java代码
注:本文来源于<KaliArch> jenkins笔记 一.相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台. ...
- 这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script
这些年我们一起搞过的持续集成~Jenkins+Perl and Shell script ##转载注明出处:http://www.cnblogs.com/wade-xu/p/4378224.html ...
- 解放双手 | Jenkins + gitlab + maven 自动打包部署项目
前言 记录 Jenkins + gitlab + maven 自动打包部署后端项目详细过程! 需求背景 不会偷懒的程序员不是好码农,传统的项目部署,有时候采用本地手动打包,再通过ssh传到服务器部署运 ...
- 自动化持续集成Jenkins
自动化持续集成Jenkins 使用Jenkins配置自动化构建http://blog.csdn.net/littlechang/article/details/8642149 Jenkins入门总结h ...
- 持续集成~Jenkins构建GitHub项目的实现
有了前两讲的基础,这回我们就可以把github上的项目做到CI(jenkins)里了,让它自动去集成部署,持续集成~Jenkins里的NuGet和MSBuild插件,持续集成~Jenkins里的pow ...
随机推荐
- Vue项目中v-bind动态绑定src路径不成功
问题: 在做Vue项目的时候,由于项目需求,需要动态绑定img的src时,突然发现如果说是直接请求后台接口的图片地址就能显示, 但是直接动态绑定img的src的图片的相对路径或者是绝对路径的时候,图片 ...
- node 异步回调 —迭代记录
1.0 开始时node采用了基础的js回调形势 const fs = require('fs'); fs.readFile('./package.json',(err,data) => { i ...
- js手机点击图片放大
点击每个图片获取到对应的img的url链接,再把链接给一个空img以此来实现 最终效果:
- sql sever 触发器的概念和使用
触发器简介: 触发器是一种特殊的存储过程,它的执行不是由程序调用,也不是手动执行,而是由事件来触发.触发器是当对某一个表进行操作.例如:update.insert.delete这些操作的时候,系统会自 ...
- Greenplum table 之 appendonly的列存储表
一.appendonly的列存储表 1.创建列存储表 create table test_column_ao( id bigint, name varchar(128), value varchar( ...
- /etc/inittab
# inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON ...
- LOJ#2977. 「THUSCH 2017」巧克力(斯坦纳树+随机化)
题目 题目 做法 考虑部分数据(颜色较少)的: 二分中位数\(mid\),将\(v[i]=1000+(v[i]>mid)\) 具体二分操作:然后求出包含\(K\)种颜色的联通快最小的权值和,判断 ...
- 【模板】分治FFT
蒟蒻写题解实在不易 前置 方法一:\(Cdq+NTT\) 方法二:多项式求逆 NTT总结:多项式求逆总结 方法一 \(Cdq+NTT\): \[f_i=\sum\limits_{j=1}^i f_{i ...
- GitHub的SSH免密连接
1.进入当前用户的家目录 $ cd ~ 2.删除.ssh 目录 $ rm -rvf .ssh 3.运行命令生成.ssh 密钥目录 $ ssh-keygen -t rsa -C [GitHub邮箱] [ ...
- adb shell monkey--APP