Jenkins 持续交付

什么是 Jenkins

img

Logo

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

官方网站:https://jenkins.io/

基于 Docker 安装 Jenkins

docker-compose

Jenkins 是一个简单易用的持续集成软件平台,我们依然采用 Docker 的方式部署,docker-compose.yml配置文件如下:

version: '3.1'
services:
  jenkins:
    restart: always
    image: jenkinsci/jenkins
    container_name: jenkins
    ports:
      # 发布端口
      - 8080:8080
      # 基于 JNLP 的 Jenkins 代理通过 TCP 端口 50000 与 Jenkins master 进行通信
      - 50000:50000
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data:/var/jenkins_home

安装过程中会出现 Docker 数据卷 权限问题,用以下命令解决:

chown -R a+w data

解锁 Jenkins

Jenkins 第一次启动时需要输入一个初始密码用以解锁安装流程,使用 docker logs jenkins 即可方便的查看到初始密码

img

初始密码

打开: http://10.3.50.160:8080

img

输入密码解锁

注意: 安装时可能会因为网速等原因导致安装时间比较长,请大家耐心等待。如果长时间停留在安装页没反应,请尝试使用 F5 刷新一下。

使用自定义插件的方式安装

插件是 Jenkins 的核心,其丰富的插件(截止到 2018.10.29 共有 77350 个插件)可以满足不同人群的不同需求

  • 插件地址:https://plugins.jenkins.io/

img

image

注意: 除了默认勾选的插件外,一定要勾选 Publish over SSH 插件,这是我们实现持续交付的重点插件。

img

image

开始安装了,根据网络情况,安装时间可能会比较长,请耐心等待

img

image

很多插件装不上怎么办?不要慌,记住这些插件的名字,咱们稍后可以手动安装

img

image

安装成功效果图

  • 创建管理员

img

创建管理员

  • 安装完成,进入首页

img

image

附:Jenkins 手动安装插件

使用插件管理器安装
  • 系统管理 -> 插件管理 -> Avaliable

img

插件管理

  • 过滤出想要安装的插件,然后点击 Download now and install after restart

img

手动下载

img

image

手动上传 .hpi 文件

  • 点击进入插件中心

img

image

  • 点击 Archives

img

image

  • 下载需要的版本

img

image

  • 在插件管理器中选择 Advanced

img

image

  • 选择上传即可

img

image

重启 Jenkins

docker-compose down
docker-compose up -d

注意: 请留意需要下载插件的警告信息,如果不满足安装条件,Jenkins 是会拒绝安装的。如下图:

img

image

配置 Jenkins

配置 JDK & Maven

现在宿主机安装好JDK & Maven,然后挂载到jenkins容器

...
    volumes:
      - ./data:/var/jenkins_home
      - /usr/local/java/jdk1.8.0_152:/usr/local/java/jdk1.8.0_152
      - /usr/local/java/apache-maven-3.6.0:/usr/local/java/apache-maven-3.6.0
系统管理`->`全局工具配置

img

jdk配置

img

maven配置

  • 别忘记保存

配置本地化(显示中文)

  • 安装 Locale 插件

img

image

  • Manage Jenkins -> Configure System -> Locale

img

image

  • 本地化效果图

img

image

安装动态参数插件

该插件的主要目的是为了方便我们后面在做项目构建时可以按照版本进行构建(支持一键回滚哦)

img

image

持续交付实战: 部署第一个Java应用

img

应用构建流程

配置 Jenkins 的 GitLab SSH 免密登录

  • 交互式进入 Jenkins 容器
docker exec -it jenkins /bin/bash
  • 生成 SSH KEY
ssh-keygen -t rsa -C "[email protected]"
  • 查看公钥
cat /var/jenkins_home/.ssh/id_rsa.pub
  • 复制公钥到 GitLab

img

image

  • 手动克隆一次项目,该步骤的主要作用是为了生成和服务器的验证信息

    img

    image

  • 查看刚才生成的文件

img

image

新建构建项

img

下拉源码

img

构建方式

点击立即构建

配置发布项 (Publish over SSH)

  1. 添加docker服务器ssh远程管理
  • 系统管理 -> 系统设置 -> Publish over SSH

img

QQ浏览器截图20190320120127.png

  • 测试是否能够正常通信 点击Test Configuration
  • 别忘记保存
  1. 创建部署项

    img

    部署项目

点击立即构建,成功后 docker ps -a 查看

附:参考资料

Jenkins之定时构建

猜你喜欢

转载自www.cnblogs.com/snake107/p/11938879.html