jenkins配置gitlab实现微服务项目自动部署

一、jenkin安装采用已有的教程

centos安装jenkins以及初始化配置

二、jenkins插件补充安装

微服务自动部署 微服务自动化部署方案_jenkins


gitlab插件安装

微服务自动部署 微服务自动化部署方案_jenkins_02


ssh远程部署插件工具安装

微服务自动部署 微服务自动化部署方案_jenkins_03


scp文件远程传输工具

三、全局配置

1.gitlab配置

在系统管理的系统配置中配置gitlab

微服务自动部署 微服务自动化部署方案_微服务_04

Connection name: 任意填写
Gitlab host URL: gitlab主机地址(http://url)
Credentials: 选择gitlab api token

微服务自动部署 微服务自动化部署方案_微服务自动部署_05


生成api token

微服务自动部署 微服务自动化部署方案_git_06


配置完成之后进行链接测试

微服务自动部署 微服务自动化部署方案_微服务自动部署_07

2.配置scp远程传输的服务器

微服务自动部署 微服务自动化部署方案_微服务_08

Hostname :远程接受文件上传的服务器地址
Port: 22
Root Repository Path:文件传输存放地址,自己确认
User Name: 登录用户名
Password/Passphrase :用户登录密码即可

3.邮件通知配置

微服务自动部署 微服务自动化部署方案_服务器_09

4.publish over ssh 配置

微服务自动部署 微服务自动化部署方案_git_10

四、jenkins服务器配置密钥到gitlab

1.服务器生成ssh公钥私钥见博客

Centos7 SSH公钥生成及配置

2.gitlab配置jenkins服务器公钥

微服务自动部署 微服务自动化部署方案_服务器_11

Key:jenkins服务器上产生的公钥
Title: 根据公钥来源配置本公钥名称

五、创建新的构建任务

注意: 若项目有依赖基础框架包,则需最先配置基础框架构建任务,并且先于其他构建任务执行

1、任务创建

微服务自动部署 微服务自动化部署方案_git_12


任务名称根据项目配置,尽量配置英文名称;任务类别配置maven项目

2.任务配置

1.General 配置

微服务自动部署 微服务自动化部署方案_服务器_13


简单配置描述以及丢弃旧构建,其他不做配置

2.源码管理

微服务自动部署 微服务自动化部署方案_git_14


源码管理选择git,其中的

Repository URL: 项目http地址
Credentials: 配置账密链接凭证

微服务自动部署 微服务自动化部署方案_jenkins_15

指定分支(为空时代表any):根据项目实际情况配置

配置完全正确,则不会出现报错信息

3.构建触发器
选择gitlab的push时间触发构建

微服务自动部署 微服务自动化部署方案_微服务自动部署_16

gitlab的Webhooks配置

微服务自动部署 微服务自动化部署方案_jenkins_17


复制以上图片红框地址,并粘贴到gitlab具体项目的相关配置中,如下图

微服务自动部署 微服务自动化部署方案_jenkins_18


其他配置保持默认,最后点击添加,同时进行测试

微服务自动部署 微服务自动化部署方案_微服务_19


测试成功将返回

微服务自动部署 微服务自动化部署方案_git_20

4.Build

基础框架项目的配置

微服务自动部署 微服务自动化部署方案_服务器_21


正常微服务项目的配置

微服务自动部署 微服务自动化部署方案_git_22


基础框架项目的配置到此就结束了,可以进行保存构建

5.构建后操作
Publish artifacts to SCP Repository配置

微服务自动部署 微服务自动化部署方案_微服务_23

SCP site选择之前配置的服务器
File to upload – source : 配置jar包地址
File to upload – Destination: 若系统配置中已配置,则此不配置
Send buuld artifacts over SSH

微服务自动部署 微服务自动化部署方案_服务器_24


选择服务器并配置要执行的脚本

至此配置完成,其他微服务项目配置与上面配置相同