git配置全局用户名和密码_SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署...

努力了这么久,但凡有点儿天赋,也该有些成功的迹象了。

f6bd228cd485f98e22edff7e24860047.png

前言

本篇文章引导你使用 Jenkins部署 SpringBoot项目,同时使用 DockerGit实现简单的持续集成和持续部署。(项目地址:sso-merryyou)

流程图如下:

11caf03a4a04968d1ace8fa06f450c33.png

  1. push代码到 Github触发 WebHook。(因网络原因,本篇使用gitee)

  2. Jenkins从仓库拉去代码

  3. mavem构建项目

  4. 代码静态分析

  5. 单元测试

  6. build镜像

  7. push镜像到镜像仓库(本篇使用的镜像仓库为网易镜像仓库)

  8. 更新服务

Jenkins安装

下载jenkins

从https://jenkins.io/download/下载对应的 jenkins

67ef99c039d9f5cb2e390f006500de73.png

初始化密码

访问本地:http://localhost:8080输入密码

f09c1a0d0569d2a1a437489be256b68a.png

选择插件

进入用户自定义插件界面,选择第二个(因为我们本次构建使用的为 Pipelines)

勾选与 Pipelines相关的插件

bbb59d6738203231808fbb73864d3314.png

等待插件安装完成

81440cdea9286ea81aa1501ca68baa3f.png

配置用户名和密码

4d5331403900d9197468a9787cb24a1c.png

全局配置

系统管理-》全局工具配置 配置Git,JDK和Maven

edf96671d7825db2ef862ee6fcf0351b.png

安全配置

系统管理-》全局安全配置

  • 勾选Allow anonymous read access

  • 取消防止跨站点请求伪造

ac6cad1af2b59f03b05bce20c520731d.png

新建任务

新建任务-》流水线

b6faaeb90c3223bb399bec201614601f.png

构建脚本

勾选触发远程构建 (WebHooks触发地址),填写简单的 Pipelinescript

d34b862fb2e6d230cb000bb3c31c94a3.png

#!groovy

pipeline{

agent any

stages {

stage('test'){

steps {

echo "hello world"

}

}

}

}

测试脚本

立即构建

bdad85cfa30203310d82200ab3b14ed3.png

控制台输出

e14dc765679946e4a2ad8804af39989d.png

gitee集成WebHooks

添加SSH公匙

501bcf2379a8318661af82697c104713.png

配置WebHooks

7427c234ed7a86253a03093a3e3c2638.png

使用natapp实现内网穿透

4e4483d6259e14da88b89cec62da362c.png

修改脚本

修改 Pipelinescript

e9271eef7f6479affcbd6790c41281a6.png

#!groovy

pipeline{

agent any

//定义仓库地址

environment {

REPOSITORY="https://gitee.com/merryyou/sso-merryyou.git"

}

stages {

stage('获取代码'){

steps {

echo "start fetch code from git:${REPOSITORY}"

//清空当前目录

deleteDir()

//拉去代码

git "${REPOSITORY}"

}

}

stage('代码静态检查'){

steps {

//伪代码检查

echo "start code check"

}

}

stage('编译+单元测试'){

steps {

echo "start compile"

//切换目录

dir('sso-client1') {

//重新打包

bat 'mvn -Dmaven.test.skip=true -U clean install'

}

}

}

stage('构建镜像'){

steps {

echo "start build image"

dir('sso-client1') {

//build镜像

bat 'docker build -t hub.c.163.com/longfeizheng/sso-client1:1.0 .'

//登录163云仓库

bat 'docker login -u longfei_zheng@163.com -p password hub.c.163.com'

//推送镜像到163仓库

bat 'docker push hub.c.163.com/longfeizheng/sso-client1:1.0'

}

}

}

stage('启动服务'){

steps {

echo "start sso-merryyou"

//重启服务

bat 'docker-compose up -d --build'

}

}

}

}

Pipeline的几个基本概念:

  • Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。

  • Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行期环境。

  • Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供。

更多Pipeline语法参考:pipeline 语法详解

测试

docker-compose up-d 启动服务

f24b4bf3cb94265bbd18f25b76ac9c54.png

访问http://sso-taobao:8083/client1登录

9ccd7ed27b017c13dfbed9d8104f8622.png

修改内容效果如下:

更多效果图

1bce7309f8c4b5c4892ef465ac6c1af9.png

8cd78f793f516722c0a113a293ff129e.png

代码下载

  • github:https://github.com/longfeizheng/sso-merryyou

  • gitee:https://gitee.com/merryyou/sso-merryyou

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值