Jenkins 持续交付

什么是 Jenkins

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 即可方便的查看到初始密码

初始密码

打开: http://10.3.50.160:8080

输入密码解锁

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

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

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

image

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

image

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

image

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

image

安装成功效果图

  • 创建管理员
创建管理员
  • 安装完成,进入首页
image

附:Jenkins 手动安装插件

使用插件管理器安装
  • 系统管理 -> 插件管理 -> Avaliable
插件管理
  • 过滤出想要安装的插件,然后点击 Download now and install after restart
手动下载
image

手动上传 .hpi 文件

  • 点击进入插件中心
image
  • 点击 Archives
image
  • 下载需要的版本
image
  • 在插件管理器中选择 Advanced
image
  • 选择上传即可
image

重启 Jenkins

docker-compose down
docker-compose up -d

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

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

系统管理->全局工具配置

jdk配置

maven配置
  • 别忘记保存

配置本地化(显示中文)

  • 安装 Locale 插件
image
  • Manage Jenkins -> Configure System -> Locale
image
  • 本地化效果图
image

安装动态参数插件

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

image

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

应用构建流程

配置 Jenkins 的 GitLab SSH 免密登录

  • 交互式进入 Jenkins 容器
docker exec -it jenkins /bin/bash
  • 生成 SSH KEY
ssh-keygen -t rsa -C "suoron@163.com"
  • 查看公钥
cat /var/jenkins_home/.ssh/id_rsa.pub
  • 复制公钥到 GitLab
image
  • 手动克隆一次项目,该步骤的主要作用是为了生成和服务器的验证信息

    image

  • 查看刚才生成的文件

image

新建构建项

下拉源码
构建方式

点击立即构建

配置发布项 (Publish over SSH)

  1. 添加docker服务器ssh远程管理
  • 系统管理 -> 系统设置 -> Publish over SSH
QQ浏览器截图20190320120127.png
  • 测试是否能够正常通信 点击Test Configuration
  • 别忘记保存
  1. 创建部署项


    部署项目

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

附:参考资料

Jenkins之定时构建

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270