敏捷开发之Jenkins的部署和基本使用

java环境安装

Jenkins新版本已经不支持jdk7及以下版本,这里安装jdk8。

更新软件包列表

sudo apt update

Ubuntu16 安装 jdk8

sudo apt install openjdk-8-jdk

查看Java版本,看看是否安装成功

java -version
1555927916172

多版本jdk时,版本之间的切换

sudo update-alternatives --config java

前面带星号的是当前正在使用的Java版本,键入编号选择使用哪个版本。

[图片上传失败...(image-c2542f-1556121001546)]

Ubuntu16 安装jdk7

这里补充一点Ubuntu系统中jdk7的安装(为什么使用jdk7,历史遗留问题。)

jdk7已经不支持从源中下载,所以需要手动下载安装包进行安装。

  • 首先需要依次下载并安装 jdk7 以及 jdk7 依赖的类库:

fontconfig-config

libfontconfig1

libjpeg62-turbo

openjdk-7-jre-headless

openjdk-7-jre

openjdk-7-jdk

  • 下载的时候要选择和自己平台匹配的 deb 包,我安装的是 64 位的 Ubuntu 系统,所以我下载的是 amd64 的 deb 包。然后把下载的这六个 deb 文件放在一个空文件夹里面,执行:
sudo dpkg -i *.deb

如果出现其他依赖的问题,执行:

sudo apt install -f
  • 执行完之后 jdk 7 就安装成功了。

  • 执行 java -version 看一下当前版本号,如果是 jdk-1.7 那么你就成功了。

Jenkins安装

我们从Jenkins官方网站https://jenkins.io/下载最新的war包。虽然Jenkins提供了Windows、Linux、OS X等各种安装程序,但是,这些安装程序都没有war包好使。只需要运行命令:

java -jar jenkins.war

Jenkins就启动成功了!它的war包自带Jetty服务器,剩下的工作我们全部在浏览器中进行。默认使用8080端口,如果想使用其他端口命令改成:

java -jar jenkins.war --httpPort=9001

第一次启动Jenkins时,出于安全考虑,Jenkins会自动生成一个随机的按照口令。

[图片上传失败...(image-d8bfc3-1556121001546)]

注意控制台输出的口令,复制下来,然后在浏览器输入:http://127.0.0.1:8080

粘贴口令,进入安装界面,如果执行默认的安装,Jenkins就自动配置好了Maven、git等常用插件。默认安装插件的耗时较长,要耐心等待。最后,创建一个admin用户,完成安装。

创建Linux服务

因为我们不想每次登录到Linux去启动Jenkins,也不想写脚本来启动服务。推荐安装JDK后,配合supervisor,把Jenkins直接变成一个服务。

#/etc/supervisor/conf.d/ci.conf
[program:ci]                                                                                   command=java -jar /usr/lib/jenkins.war --httpPort=9001
user=ubuntu
autostart=true
autorestart=true
startsecs=30
startretries=5

Jenkins的使用

在Jenkins首页选择 “新建任务”,输入名字,选择“构建一个自由风格的软件项目”

1555984239991

在配置页中,源码管理选择Git,填入地址:

[图片上传失败...(image-a26a13-1556121001546)]

默认使用master分支。如果需要口令,在Credentials中添加用户名/口令,或者使用SSH Key。

构建触发器指定了触发一次构建的条件。推荐使用最简单的配置“Poll SCM”,它的意思是,定时检查版本库,发现有新的提交就触发构建。这种方式对git、SVN等所有版本管理系统都是通用的。

我们在日程表中填入:

* * * * *
1555984850539

表示每分钟检查一次。如果你觉得太频繁,可以改成“每3分钟检查一次”:

*/3 * * * *

在演示项目中,使用了执行Shell构建的方法,所以在“构建”中选择“执行shell”。

这里的shell是构建项目的过程。可以简单的写一个测试一下:

echo "Hello ------------------"

点击保存,就可以执行自动化构建了。

1555985221427

可以在Console Output中看到控制台详细输出,便于出错排查:

[图片上传失败...(image-f926e-1556121001546)]

这里为正确的输出。构建完成。

关于Docker

这里建议的是使用Docker来构建集成环境,Docker和jenkins都在主机的环境中,gitlab可以使用Docker部署。Nginx代理各个服务。

参考

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

推荐阅读更多精彩内容