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

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

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

centos安装jenkins以及初始化配置

二、jenkins插件补充安装

jenkins配置gitlab实现微服务项目自动部署_第1张图片
gitlab插件安装
在这里插入图片描述
ssh远程部署插件工具安装
jenkins配置gitlab实现微服务项目自动部署_第2张图片
scp文件远程传输工具

三、全局配置

1.gitlab配置

在系统管理的系统配置中配置gitlab
jenkins配置gitlab实现微服务项目自动部署_第3张图片

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

jenkins配置gitlab实现微服务项目自动部署_第4张图片
生成api token
jenkins配置gitlab实现微服务项目自动部署_第5张图片
配置完成之后进行链接测试
jenkins配置gitlab实现微服务项目自动部署_第6张图片

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

jenkins配置gitlab实现微服务项目自动部署_第7张图片

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

3.邮件通知配置

jenkins配置gitlab实现微服务项目自动部署_第8张图片

4.publish over ssh 配置

jenkins配置gitlab实现微服务项目自动部署_第9张图片

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

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

Centos7 SSH公钥生成及配置

2.gitlab配置jenkins服务器公钥

jenkins配置gitlab实现微服务项目自动部署_第10张图片

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

五、创建新的构建任务

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

1、任务创建

jenkins配置gitlab实现微服务项目自动部署_第11张图片
任务名称根据项目配置,尽量配置英文名称;任务类别配置maven项目

2.任务配置

1.General 配置

jenkins配置gitlab实现微服务项目自动部署_第12张图片
简单配置描述以及丢弃旧构建,其他不做配置

2.源码管理

jenkins配置gitlab实现微服务项目自动部署_第13张图片
源码管理选择git,其中的

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

jenkins配置gitlab实现微服务项目自动部署_第14张图片

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

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

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

jenkins配置gitlab实现微服务项目自动部署_第15张图片

gitlab的Webhooks配置

jenkins配置gitlab实现微服务项目自动部署_第16张图片
复制以上图片红框地址,并粘贴到gitlab具体项目的相关配置中,如下图
jenkins配置gitlab实现微服务项目自动部署_第17张图片
其他配置保持默认,最后点击添加,同时进行测试
jenkins配置gitlab实现微服务项目自动部署_第18张图片
测试成功将返回
在这里插入图片描述

4.Build

基础框架项目的配置
jenkins配置gitlab实现微服务项目自动部署_第19张图片
正常微服务项目的配置
jenkins配置gitlab实现微服务项目自动部署_第20张图片
基础框架项目的配置到此就结束了,可以进行保存构建

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

jenkins配置gitlab实现微服务项目自动部署_第21张图片

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

jenkins配置gitlab实现微服务项目自动部署_第22张图片
选择服务器并配置要执行的脚本

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

你可能感兴趣的:(jenkins,jenkins)