jenkins 安装:https://blog.csdn.net/KingBoyWorld/article/details/77922730
--
将安装包上传至要运行的系统中。
--
--
使用如下命令在后台运行jenkins
nohup java -jar jenkins.war --httpPort=8080 &
也可以将其放入tomcat运行,和传统运行方式一样,不多介绍了。
启动时会将日志信息存入当前目录的nohup.out文件中,可以使用如下命令查看运行日志
tail -fn 200 nohup.out
重点要注意的是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
*************************************************************
*************************************************************
*************************************************************
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
--
--
1.访问
通过ip:端口
即可访问jenkins的界面。首次访问需要输入我们在日志中拿到的密码,如下图,
2.插件安装
2.1 接着我们就进入到了插件安装的界面(如下图),这里我们直接选择select suggested plugins
,安装推荐的插件,以后可以在插件管理中心安装其它插件。
2.2 点击之后就进入到安装过程了,这个过程根据网络情况不同,下载时间有长有短,耐心等待吧。安装过程中有些插件会安装失败,不过不用担心,失败的插件在其它插件安装完成后,界面下方会出现retry
按纽,可以重试。
3.创建jenkins用户
输入相关信息即可
tusmind tusmind123
保存并完成,开始使用
--
实战环境:码云(git.oschina.net)、Jenkins(可在公网访问)、插件Generic Webhook Trigger
--
Jenkins安装Generic Webhook Trigger插件
勾选插件触发器,给抓出来的数据起个变量名ref,抓取内容为$.ref(看码云的文档)
好,稍微下来一点,我们只需要获取POST数据,header和request不用理。接下来也很关键,定义过滤出来什么字串才触发这个任务。所以使用正则匹配,text为匹配出什么结果就触发这个任务,于是我们填入刚才抓取临时存放的变量$ref,注意这里不是原始数据的$.ref。
^(refs/heads/master)$
echo "构建过程"
echo $ref
--
点击保存之后,回到码云的项目管理页面,填入URL
URL格式为 http://有读权限的用户名:该用户名密码@jenkis地址/generic-webhook-trigger/invoke
如: http://tusmind:tusmind123@http://10.160.59.236:8990/generic-webhook-trigger/invoke
密码可不填(看了文档还没明白是包含在哪里,还得研究)
点击测试,返回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分支提交代码,就会触发任务了,至此需求完成。
==
如果仓库是公开的,不需要账户和密码.
如果仓库是私有的,:
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.此时便不再需要输入密码.