jenkins 安装 码云Webhook触发Jenkins自动构建

jenkins 安装:https://blog.csdn.net/KingBoyWorld/article/details/77922730

--

下载安装包

  • 进入官网,下载jenkins的war包,我下载的是2.6版本的,如下图片中的位置:

这里写图片描述

将安装包上传至要运行的系统中。

--

jenkins 安装 码云Webhook触发Jenkins自动构建_第1张图片

--

运行Jekins

使用如下命令在后台运行jenkins

nohup java -jar jenkins.war --httpPort=8080 &
  • 1
也可以将其放入tomcat运行,和传统运行方式一样,不多介绍了。
  • 1
  • 2

启动时会将日志信息存入当前目录的nohup.out文件中,可以使用如下命令查看运行日志

tail -fn 200 nohup.out
  • 1

四、启动时注意事项

重点要注意的是jenkins在启动时,默认给我们生成了一个admin用户,密码在启动时的日志信息中,我们需要在日志中找到如下内容

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

50fbeeda36a24e6c99c393762d550471

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

jenkins 安装 码云Webhook触发Jenkins自动构建_第2张图片

nohup java -jar jenkins.war --httpPort=8990 &

tail -fn 200 nohup.out

--

Running from: /home/git/jenkins.war
webroot: $user.home/.jenkins
四月 10, 2018 5:30:13 下午 Main deleteWinstoneTempContents
警告: Failed to delete the temporary Winstone file /tmp/winstone/jenkins.war
四月 10, 2018 5:30:13 下午 org.eclipse.jetty.util.log.Log initialized
信息: Logging initialized @838ms to org.eclipse.jetty.util.log.JavaUtilLog
四月 10, 2018 5:30:13 下午 winstone.Logger logInternal
信息: Beginning extraction from war file
四月 10, 2018 5:30:14 下午 org.eclipse.jetty.server.handler.ContextHandler setContextPath
警告: Empty contextPath
四月 10, 2018 5:30:15 下午 org.eclipse.jetty.server.Server doStart
信息: jetty-9.4.z-SNAPSHOT
四月 10, 2018 5:30:15 下午 org.eclipse.jetty.webapp.StandardDescriptorProcessor visitServlet
信息: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
四月 10, 2018 5:30:15 下午 org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
信息: DefaultSessionIdManager workerName=node0
四月 10, 2018 5:30:15 下午 org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
信息: No SessionScavenger set, using defaults
四月 10, 2018 5:30:15 下午 org.eclipse.jetty.server.session.HouseKeeper startScavenging
信息: Scavenging every 600000ms
Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
四月 10, 2018 5:30:16 下午 org.eclipse.jetty.server.handler.ContextHandler doStart
信息: Started w.@6fefce9e{/,file:///root/.jenkins/war/,AVAILABLE}{/root/.jenkins/war}
四月 10, 2018 5:30:16 下午 org.eclipse.jetty.server.AbstractConnector doStart
信息: Started ServerConnector@a7e2d9d{HTTP/1.1,[http/1.1]}{0.0.0.0:8990}
四月 10, 2018 5:30:16 下午 org.eclipse.jetty.server.Server doStart
信息: Started @3851ms
四月 10, 2018 5:30:16 下午 winstone.Logger logInternal
信息: Winstone Servlet Engine v4.0 running: controlPort=disabled
四月 10, 2018 5:30:17 下午 jenkins.InitReactorRunner$1 onAttained
信息: Started initialization
四月 10, 2018 5:30:18 下午 jenkins.InitReactorRunner$1 onAttained
信息: Listed all plugins
四月 10, 2018 5:30:19 下午 jenkins.InitReactorRunner$1 onAttained
信息: Prepared all plugins
四月 10, 2018 5:30:19 下午 jenkins.InitReactorRunner$1 onAttained
信息: Started all plugins
四月 10, 2018 5:30:19 下午 jenkins.InitReactorRunner$1 onAttained
信息: Augmented all extensions
四月 10, 2018 5:30:20 下午 jenkins.InitReactorRunner$1 onAttained
信息: Loaded all jobs
四月 10, 2018 5:30:20 下午 hudson.model.AsyncPeriodicWork$1 run
信息: Started Download metadata
四月 10, 2018 5:30:20 下午 jenkins.InitReactorRunner$1 onAttained
信息: Completed initialization
四月 10, 2018 5:30:21 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@2fcb10fb: display name [Root WebApplicationContext]; startup date [Tue Apr 10 17:30:21 CST 2018]; root of context hierarchy
四月 10, 2018 5:30:21 下午 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@2fcb10fb]: org.springframework.beans.factory.support.DefaultListableBeanFactory@2f51d781
四月 10, 2018 5:30:21 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2f51d781: defining beans [authenticationManager]; root of factory hierarchy
四月 10, 2018 5:30:21 下午 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@1fdb3d18: display name [Root WebApplicationContext]; startup date [Tue Apr 10 17:30:21 CST 2018]; root of context hierarchy
四月 10, 2018 5:30:21 下午 org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
信息: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@1fdb3d18]: org.springframework.beans.factory.support.DefaultListableBeanFactory@55336b8e
四月 10, 2018 5:30:21 下午 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@55336b8e: defining beans [filter,legacy]; root of factory hierarchy
四月 10, 2018 5:30:21 下午 jenkins.install.SetupWizard init
信息: 

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

2072658415b44008a174df220382899c

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

四月 10, 2018 5:31:19 下午 hudson.model.UpdateSite updateData
信息: Obtained the latest update center data file for UpdateSource default
四月 10, 2018 5:31:19 下午 hudson.WebAppMain$3 run
信息: Jenkins is fully up and running

--

2072658415b44008a174df220382899c

--

jenkins 安装 码云Webhook触发Jenkins自动构建_第3张图片

--

进入Jenkins的世界

1.访问 
通过ip:端口即可访问jenkins的界面。首次访问需要输入我们在日志中拿到的密码,如下图,

这里写图片描述

2.插件安装 
2.1 接着我们就进入到了插件安装的界面(如下图),这里我们直接选择select suggested plugins,安装推荐的插件,以后可以在插件管理中心安装其它插件。

这里写图片描述

2.2 点击之后就进入到安装过程了,这个过程根据网络情况不同,下载时间有长有短,耐心等待吧。安装过程中有些插件会安装失败,不过不用担心,失败的插件在其它插件安装完成后,界面下方会出现retry按纽,可以重试。

这里写图片描述

3.创建jenkins用户 
输入相关信息即可

jenkins 安装 码云Webhook触发Jenkins自动构建_第4张图片

tusmind   tusmind123

保存并完成,开始使用

--

码云Webhook触发Jenkins自动构建 

http://blog.51cto.com/tseyuzen/1960905

实战环境:码云(git.oschina.net)、Jenkins(可在公网访问)、插件Generic Webhook Trigger

--

Jenkins安装Generic Webhook Trigger插件

jenkins 安装 码云Webhook触发Jenkins自动构建_第5张图片

jenkins 安装 码云Webhook触发Jenkins自动构建_第6张图片

jenkins 安装 码云Webhook触发Jenkins自动构建_第7张图片

jenkins 安装 码云Webhook触发Jenkins自动构建_第8张图片


jenkins 安装 码云Webhook触发Jenkins自动构建_第9张图片

勾选插件触发器,给抓出来的数据起个变量名ref,抓取内容为$.ref(看码云的文档)

jenkins 安装 码云Webhook触发Jenkins自动构建_第10张图片

好,稍微下来一点,我们只需要获取POST数据,header和request不用理。接下来也很关键,定义过滤出来什么字串才触发这个任务。所以使用正则匹配,text为匹配出什么结果就触发这个任务,于是我们填入刚才抓取临时存放的变量$ref,注意这里不是原始数据的$.ref。

^(refs/heads/master)$

jenkins 安装 码云Webhook触发Jenkins自动构建_第11张图片


jenkins 安装 码云Webhook触发Jenkins自动构建_第12张图片

echo "构建过程"

echo  $ref

--

点击保存之后,回到码云的项目管理页面,填入URL

  URL格式为 http://有读权限的用户名:该用户名密码@jenkis地址/generic-webhook-trigger/invoke 

如: http://tusmind:tusmind123@http://10.160.59.236:8990/generic-webhook-trigger/invoke 

  密码可不填(看了文档还没明白是包含在哪里,还得研究)

jenkins 安装 码云Webhook触发Jenkins自动构建_第13张图片


     点击测试,返回ok就说明接口能用了,如果返回如下,则用户名密码可能没填或者没对。

1
2
3
4
{ "status" : "ok" , "data" :{ "triggerResults" :{ "ANY" :"Did not  find  any jobs to trigger! 
The user invoking  /generic-webhook-trigger/invoke  must have  read  permission to any 
jobs that should be triggered. You may try adding http: //user :passw@url... or configuring
  and passing an authentication token like ...trigger /invoke ?token=TOKENHERE"}}}


    最后,在dev分支提交代码,就会触发任务了,至此需求完成。


==

如果仓库是公开的,不需要账户和密码.

如果仓库是私有的,: 

  1. Windows配置: 
    1 进入 C:\Documents and Settings\xxx.,找到.git-credentials文件, 
    touch .git-credentials

    2 用记事本修改.git-credentials.格式如下: 
    https://{ username }:{ password }@ xxx .com 
    eg:https://zhangsan:[email protected]

    3 在任意目录 打开git-bash,输入: 
    git config –global credential.helper store

    4 执行完后去查看 C:\Documents and Settings\Administrator.gitconfig 这个文件,发现多了一项: 
    [credential] helper = store

    5 重新使用git pull.此时便不再需要输入密码.

    Linux配置: 
    1 进入 /home/chinaestone(有些在root下面),找到.git-credentials文件,

    2 输入内容如下: 
    https://{username}:{password}@github.com 
    eg:https://zhangsan:[email protected]

    3 保存文件退出后,输入以下指令: 
    git config –global credential.helper store

    4 此时在/home/chinaestone/.gitconfig 会新增一项 
    helper = store

    5 重新使用git pull.此时便不再需要输入密码.


你可能感兴趣的:(jenkins 安装 码云Webhook触发Jenkins自动构建)