Jenkins2.33初学,安装,配置,搭建job

不打扰是莪最后的温柔 提交于 2019-11-28 18:27:02

##1.安装 虽然想直接安装到centos上,但考虑学习配置,就先从windows开始。登陆Jenkins官方网站下载最新的版本。选择版本的时候下意识的就打开下拉箭头选择了windows。这是个美丽的错误,应该选择war的。

一路安装结束后,启动8080发现已经ok了,然而我并不想要占用8080端口,于是寻找配置端口的地方。百度出来的大多数的Jenkins博客也都是简单介绍,而且多是用war来启动的,使用war启动可以设置端口:java -jar jenkins.war --httpPort=$HTTP_PORT. 然后再安装为windows服务。而我下载的msi一步到位了。又去百度了,没能找到合适的。自己去翻安装好的路径下的配置文件'D:\Program Files (x86)\Jenkins\jenkins.xml'。果然在这里:

<service>
  <id>Jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins continuous integration system.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <!--
    if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
    The following value assumes that you have java in your PATH.
  -->
  <executable>%BASE%\jre\bin\java</executable>
  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8070 --webroot="%BASE%\war"</arguments>
  <!--
    interactive flag causes the empty black Java window to be displayed.
    I'm still debugging this.
  <interactive />
  -->
  <logmode>rotate</logmode>

  <onfailure action="restart" />
</service>

第一次修改后重启windows服务:'services.msc'->重启。 然而并没有像想想中的那样可以直接访问8070了,因为发现service一启动就关闭了。想起刚开始在Jenkins页面的全局设置了修改了端口,于是改回8080,然而启动登录,进入全局设置:

修改成8070之后,关闭服务,重新修改配置文件8070,启动服务。如此,Jenkins安装完毕。 浏览器访问localhost:8080就可以了。

##2.构建第一个job 这里先完整的记录一个简单的job历程,后面补充踩过的坑。

###2.1构建一个GitHub源码库的job 可以直接新建开始第一个job,然而结果却是失败,原因是一些环境还没有配置好。所以第一步要做的是配置环境。 点击系统管理>>系统设置

####1. 添加home环境变量 这个是血泪铸成的坑。Windows上的Jenkins默认的home并不是我们当前的用户,所以后面如果有用到基于home路径的配置则会统统失败,比如.ssh。 勾选Environment variables,添加home:

####2.设置maven全局配置文件 点击系统管理>> Global Tool Configuration>> 由于国内访问maven镜像库比较慢,因此大多设置为国内的镜像比如阿里云,或者自己搭建的。

####3.设置jdk

####4.设置git

####5.设置maven和gradle

####6.开始创建job 点击新建,输入项目名称,比如demo. 勾选github project, 输入project url

####7. 源码管理 这里是重点,我被卡了几个小时。就是因为前文提到的,Jenkins中git不识别key。就会报错return status code 128.所以第一步的设置环境变量一定要做。其次是github的配置。在系统配置里有github的配置,这里主要配置一个github的token,方便Jenkins与github集成,最终可以在master的branch下看到一个点,链接指向Jenkins最新的build。这里先不谈集成的问题。

设置成功后不会报错了。点击add,添加credentials。就是github的用户名和密码。如果是公开项目则不用。

####8.构建触发器 这里可以忽略,以后添加pipeline的时候设置构建逻辑。

####9.构建 这里是项目构建逻辑。即各种执行脚本。选择合适的执行脚本来执行代码。这里测试调用maven直接run项目,当然也可以mvn install打成war包后启动Tomcat。

####10.运行测试 点击保存,然后点击立即构建。 点击进入

点击Console Output 可以看到build的结果:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.966 s
[INFO] Finished at: 2016-11-23T22:39:02+08:00
[INFO] Final Memory: 16M/225M
[INFO] ------------------------------------------------------------------------
Finished: SUCCESS

同时,在github也可以看到master分支build的详情,点击就会跳转到这次build:http://localhost:8070/job/demo/23/

####11.遇到过的问题

returned status code 128:
stdout: 
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.

解决:设置home位置

Failed to connect to repository : Command "D:\Program Files\Git\Git\bin\git.exe ls-remote -h git@github.com:winsnow/spring-boot-demo.git HEAD" returned status code 128:
stdout: 
stderr: Permission denied (publickey). 
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

解决:设置home位置

###构建一个SVN源码库的job 同上,只不过源码管理选择svn,并且输入账号密码。

###参考

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!