6. Jenkins使用 -- 与git和github集成

文章已经迁移到我的个人博客,里面还有更多内容。

6. Jenkins使用 -- 与git和github集成

我们已经掌握了Jenkins的基础内容,这部分介绍一个基本的与git集成的方法
我们会:

  1. 新建一个java程序并且使用命令行运行它
  2. 新建一个Jenkins的job来运行这个java程序
  3. 将这个程序加入git与github
  4. 中添加git插件
  5. 当github出现变化时,启动Jenkins的job

准备 -- 新建一个java程序

如果有其他程序用,也可以,这里仅仅是为了方便讲解,所以新建一个java程序"HelloWorld":

public class HelloWorld
{
  public static void main(String[] args) {
    System.out.println("大家好");
  }
}

命令行中,我们可以如下运行它:

javac HelloWorld.java 
java HelloWorld 

新建Jenkins的job

方法同上一部分,新建一个名为“HelloWorld“的项目(job)

设定构建选项。进入项目配置,找到构建,因为我用的Mac,所以选择”Execute shell“,如果是win用户,请选择第一个选项。

Command框中,输入:

cd /你的路径/
javac HelloWorld.java 
java HelloWorld 

注意“你的路径”输入绝对路径,防止出错。保存设置。

然后测试一下,点击立即构建,构建完成后,点击这次构建的历史记录:

然后点击Console Output,我们便可以看到控制台输出结果了,说明目前我们此job配置正确。

将这个程序加入git与github(与Jenkins无关,如果知道如何操作,请忽略)

加入git

如果git不知道怎么使用,请先查看Git教程或者GIT IMMERSION

在与HelloWorld.java同目录中,输入:

$ git init
$ git add .
$ git commit -m "HelloWorld init"

github设置

此处参考Generating a new SSH key and adding it to the ssh-agent, Adding a new SSH key to your GitHub account

我这里的路程针对mac系统

建立一个SSH key]

  1. 打开终端
  2. 把下面命令粘贴进去,邮箱改为你自己的github账号邮箱。这样就会建立一个新的ssh key
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. 如果提示 "Enter a file in which to save the key," 点击Enter,使用默认位置
Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
  1. 因为我们在使用CLI部分已经创建过一个ssh key,所以这里可以将以前的删除,也可以直接覆盖。这里我就直接覆盖了。如果提示“Overwrite (y/n)?”,直接打入"y",覆盖即可。

  2. 然后输入passphrase。完成第一步

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

使用ssh-agent

为了不用每次和github交流都输入密码,而且还能保证安全,我们使用ssh-agent

  1. 为了添加ssh-key到the ssh-agent,ssh-agent必须运行。OS X Leopard及以上版本ssh-agent自动运行。如果没有运行
# start the ssh-agent in the background if it's not already running
$ eval "$(ssh-agent -s)"
Agent pid 59566
  1. 添加SSH key到the ssh-agent.
$ ssh-add ~/.ssh/id_rsa

将SSH key加入你的GitHub账号

  1. 复制SSH key到剪切板
$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

如果pbcopy不工作,那么直接打开~/.ssh/id_rsa.pub,复制即可

  1. github右上角用户头像位置,点击出现下拉菜单,点击Settings

点击New SSH Key,然后Title中填入你自己给这个key起的名称方便记忆和分辨。Key中粘贴复制的key,最后点击“Add SSH Key**即可。

将java程序上传至github

登录github后,页面右上角,点击New repository

Repository name中输入“HelloWorld”,然后点击Create Repository,然后根据提示,输入命令即可,比如:

$ git remote add origin git@github.com:gengyabc/HelloWorld.git
$ git push -u origin master

转到github此项目主页,可见文件已经上传成功

Jenkins与github集成

首先确定git插件有没有安装,系统管理 -> 管理插件 -> 已安装,查看有没有git插件,没有的话,转到可选插件Filter:位置搜索“Git plugin”然后安装即可(新版Jenkins内置安装)

进入Jenkins项目的管理页面,找到源码管理,点选Git,地址填入GitHub项目的git地址(我发现用ssh地址好像不能工作,不知道为什么,这里使用https地址)

构建触发器,勾选Poll SCM日程表填入“* * * * *”(实际工作中不要填入这一堆*,这里是说每分钟都去查看有没有更新,有更新就拖下来构建,这样会累死Jenkins和服务器),然后保存。

修改java项目,然后保存并提交修改到github

$ git add .
$ git commit -m "I have changed something"
$ git push

回到项目主页,等一下,观察构建历史,便有新的构建产生。点击这个历史记录,找到Polling Log,可以查看这次构建远程拉取的一些信息。

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

推荐阅读更多精彩内容