CentOS7 安装Jenkins

Jenkins基本介绍:

是目前最流行的一款持续集成及自动化部署工具。

Jenkins 和 Hundson 之间的关系:2009 年,甲骨文收购了 Sun 并继承了 Hudson 代 码库。在 2011 年年初,甲骨文和开源社区之间的关系破裂,该项目被分成两个独立的 项目:

    1. Jenkins:由大部分原始开发人员组成
    2. Hudson:由甲骨文公司继续管理
      所以 Jenkins 和 Hudson 是两款非常相似的产品。
    3. Jenkins 可以整合 GitHub 或 Subversion
    4. Husband 也可以整合 GitHub 或 Subversion
      二者既然是同源的工具软件,操作和指导思想就是接近的

服务器简介:

  • 本人买了一台华为弹性云服务器(Centos 7.6),你们可以买阿里云、腾讯云等服务器厂商的
  • 买服务器的原因:可以访问外网
  • 使用Jenkins + SVN时,可以使用自己的虚拟机,不要求外网,但必须能访问外网
  • 使用Jenkins + Git时,必须使用服务器,因为内网地址 GitHub 是无法访问到的。

 

important:安装前的准备

1、CentOS7下安装JDK、Tomcat及Maven链接

2、CentOS7服务器安装Git链接

 

mode1:安装依赖于tomcat运行的Jenkins

  1. 访问Jenkins下载地址==》https://www.jenkins.io/download/
  2. 点击如图按钮 下载war包

  3. 也可以使用wget命令
    wget http://mirrors.jenkins.io/war-stable/2.235.2/jenkins.war
  4. 把 jenkins.war 放在 Tomcat 解压目录/webapps 目录下
    cp jenkins.war /usr/local/apache-tomcat-9.0.20/webapps/
  5. 打开 Tomcat 解压目录/server.xml 修改 URL 地址的编码解码字符集
    vim /usr/local/apache-tomcat-9.0.20/conf/server.xml

    找到 <Connector port="8080" protocol="HTTP/1.1" 标签末尾加入

    URIEncoding="UTF-8"

    修改后:



  6. 启动 Tomcat 并通过浏览器访问
    /usr/local/apache-tomcat-9.0.20/bin/startup.sh

    访问地址:

    http://121.37.4.145:8080/jenkins

    121.37.4.145是本人服务器的ip,记得安全组配置开放8080端口;就会出现如图界面:

    至此,Jenkins服务的安装完毕,下面介绍一个Jenkins的配置。

 

mode2:命令行安装Jenkins(推荐)

下面默认安装的是最新版的Jenkins,如果你想手动下载指定版本的Jenkins,也可以:地址

  1. 安装
    wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
    rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
    yum install -y jenkins

     

  2. 如果报错:Public key for jenkins-2.x-x.x.noarch.rpm is not installed,根据提示信息可以看到Jenkins的rpm包保存地址

    # 解决办法:找到Jenkins的rpm包位置,手动安装
    rpm -ivh /var/cache/yum/x86_64/7/jenkins/packages/jenkins-2.249-1.1.noarch.rpm

     

  3. 修改Jenkins配置信息
    vim /etc/sysconfig/jenkins

    修改监听端口(可任意,但不能与系统端口21等冲突)

    JENKINS_PORT="8888"

    为了不因为权限出现各种问题,这里直接修改用户为root

    JENKINS_USER="root"

     

  4. 修改目录权限
    chown -R root:root /var/lib/jenkins
    chown -R root:root /var/cache/jenkins
    chown -R root:root /var/log/jenkins

     

  5. 配置jdk
    vim /etc/init.d/jenkins

    找到 /usr/bin/java 替换为your java path

    /usr/local/java/jre/bin/java

    如果是ubuntu,将 #JAVA=`type -p java` 替换为 your java path

  6. 添加jenkins 到docker用户组
    gpasswd -a jenkins docker

     

  7. 启动/ 停止/ 重启 Jenkins服务
    systemctl start jenkins.service # 启动 jenkins 
    systemctl enable jenkins.service # 开机启动
    systemctl status jenkins.service # jenkins 状态 
    systemctl sotp jenkins.service # 停止 jenkins 

     

  8. 在浏览器中打开(ip地址:8888),初次访问需要使用初始密码,使用以下命令获取
    cat /var/lib/jenkins/secrets/initialAdminPassword

     以后登录:

    用户名:admin
    # 如果是依赖于tomcat运行的Jenkins
    密码:cat /root/.jenkins/secrets/initialAdminPassword
    # 如果是命令行安装的Jenkins
    密码:cat /var/lib/jenkins/secrets/initialAdminPassword

     

  9. 更改插件的设置
    sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
    vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
    # 修改 https://updates.jenkins.io/update-center.json 为
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    重启服务

    service jenkins restart

     

  10. 卸载(按需,可选)
    # 卸载软件
    rpm -e jenkins
    # 删除遗留文件
    find / -iname jenkins | xargs -n 1000 rm -rf

     

重点:安装Jenkins后的配置

  1. 获取解锁密码
    # 如果是依赖于tomcat运行的Jenkins
    cat /root/.jenkins/secrets/initialAdminPassword
    # 如果是命令行安装的Jenkins
    cat /var/lib/jenkins/secrets/initialAdminPassword

    得到密文,这里填入的密文同时也是 admin 账号的密码。复制到上图的密码输入框中,点击继续

  2. 选择插件安装方式

    ※注意:这个步骤中如果选择了安装插件则 Linux 必须能够联网。

    按钮点击一次即可,响应有点慢,需要耐心等待,安装过程如下:
  3. 弹窗:创建一个管理员用户,本人选择“使用admin账户继续”,后面有需要仍然有机会注册新账户。

  4. 弹窗:实例配置,不需修改,直接点击【保存并完成】按钮

1)全局安全配置,可选

开发环境我们选择任何用户做任何事,生产环境不建议这样子(应该选择登录用户可以做任何事),这里只是方便学:

2)插件管理

 

 点击【已安装】即可查看刚刚默认安装的插件;这里我们点击【可选插件】,在两厘米上面的search框输入插件名称:

1、安装插件:Docker

2、安装插件:Docker Compose Build Step Plugin

3、安装插件:Deploy to container

   点击下方的直接安装,这个步骤可能失败,多试几次即可

3)全局工具配置

配置上maven、git和jdk:

 

 

依次填入:(截图是之前的配置,本人后来为了方便修改了服务器maven的文件夹名称,所以按照下面的来即可)

/usr/local/maven/conf/settings.xml
/usr/local/maven/conf/settings.xml
MyJDK
/usr/local/java
MyGit
/usr/local/git/bin/git
MyMaven
/usr/local/maven
MyDocker
/var/lib/docker

 

重点:Jenkins配置docker 构建所需要的cloud 环境

如果不配置,项目构建是时会保错:

ERROR: Build step failed with exception
java.lang.RuntimeException: Could not find the cloud this project was built on
	at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher.getDockerAPI(DockerBuilderPublisher.java:248)
	at com.nirima.jenkins.plugins.docker.builder.DockerBuilderPublisher.perform(DockerBuilderPublisher.java:463)
	at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:112)
	at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
	at hudson.model.Build$BuildExecution.build(Build.java:206)
	at hudson.model.Build$BuildExecution.doRun(Build.java:163)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
	at hudson.model.Run.execute(Run.java:1880)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:428)
Build step 'Build / Publish Docker Image' marked build as failure
Finished: FAILURE
前提:安装了docker插件,具体步骤看前一个标题

  1. 进入系统管理页面,点击下图:

     

     

  2. 需要安装 docker 插件,才会有:

     

  3. 在 configure 页面下 最底下,点击跳转过去,重新配置一下 cloud -》 docker 配置

    配置如下:

 

重点:Jenkins关联github账户

Github中获取访问token值,需要一个对项目有写权限的账户

首先我们要创建一个:

  GitHub->setting->Developer setting->Personal access tokens->点击Generate new token,快捷链接

内容填写如下:

 

 

点击【Generate token】提交后:

Jenkins中添加Github的token凭证:

  系统管理->系统配置->Github->添加Github server->添加Secret text凭证->连接测试

 同时,勾选【为github指定另外一个hook url】(配置Jenkins在Hook URL中用于监听Github的Post请求,然后进行自动构建):

注意:在操作过程,点击连接测试,可能会提示:Failed to validate the account,首先请确保添加凭证的类型是Secret text,其次secret值填写的是步骤3中生成的token值

Secret text凭证添加如下:
  类型需选择Secret text,Secret处输入Github中上面生成的token值

记住这个Hook URL!!!如果配置好了,Hook URL一般为:

1、如果是依赖于tomcat运行的Jenkins==》http://tomcat服务器ip:tomcat运行端口/jenkins/github-webhook/

2、如果是命令行安装运行的Jenkins==》http://jenkins服务器ip:jenkins监听端口/github-webhook/

 

posted @ 2020-07-27 18:44  soldier_cnblogs  阅读(630)  评论(0编辑  收藏  举报