Aldebaran

人生最棒的感觉,就是你做到别人说你做不到的事。

0%

安装Jenkins

三田寺円

前言

Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。

Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat)。

它支持软件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以执行基于Apache Ant和Apache Maven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。

系统需求

尽量使用Java 8, 操作系统的内存要512MB以上。

开始安装

Jenkins 提供了多种安装方式。 (PS: 以下内容在Jenkins官网都可以找到)

  • Installing Jenkins with Docker

    假设你已经安装好docker,那么你可以直接执行:

    $ sudo docker pull jenkins
    $ sudo docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins

    这将把jenkins数据存储在主机/your/home上,因此请确保/your/home目录能够被容器中的jenkins用户访问(jenkins user - uid 1000)或在执行docker run时使用-u some_other_user参数。

    您可能需要自定义运行Jenkins的JVM,通常是传递系统属性或调整堆内存设置。为此使用JAVA_OPTS环境变量:

    例如: 下面为修改JVM默认的时区,则可以这样运行:

    $ sudo docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Duser.timezone=GMT jenkins
    
    or
    
    $ sudo docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Duser.timezone="Australia/Sydney" jenkins

    更多详情可以参考:

    https://hub.docker.com/r/library/jenkins

    https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+with+Docker

  • Installing Jenkins on Ubuntu

    • Installation

      $ wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
      $ sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
      $ sudo apt-get update
      $ sudo apt-get install jenkins
    • Upgrade

      一旦这样安装,您可以通过运行以下命令来更新到更高版本的Jenkins(当它出来时):

      $ sudo apt-get update
      $ sudo apt-get install jenkins

      (aptitude或apt-get没有任何区别。)

    • What does this package do?

      1. 开始时,jenkins将作为一个守护进程启动。更多详情请查看/etc/init.d/jenkins。

      2. 创建“jenkins“用户以运行此服务。

      3. 日志文件将被放入/var/log/jenkins/jenkins.log。如果您正在对Jenkins进行故障排除,请检查此文件。

      4. /etc/default/jenkins 将预先配置参数,例如JENKINS_HOME。

        如果您的服务器8080端口已经被占用,请编辑/etc/default/jenkins以替换该行

        HTTP_PORT = 8080
      5. 默认情况下,Jenkins监听端口8080.使用浏览器访问此端口以开始配置。

      更多详情可以参考:https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Ubuntu

  • Installing Jenkins on Red Hat distributions

    RedHat和CentOS 在安装方式上区别并不大,这里以RedHat为例

    • Installation

      将Jenkins源添加到yum repos,并且开始安装

      $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
      $ sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
      $ sudo yum install jenkins
    • Installation of a stable version(可选)
      以上述方法安装的Jenkins默认是最新版,如果需要安装LTS版本(长期支持版),则可以:

      $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
      $ sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
      $ sudo yum install jenkins
    • Installation of Java

      Jenkins需要Java才能运行,但默认情况下,某些发行版不包括此类。要安装Open Java Development Kit(OpenJDK),请运行以下操作:

      $ sudo yum install java

      PS: 尽量安装Java 8,RedHat系列自带的JDK 基本都是java 7.

    • What does this package do?

      1. 开始时,jenkins将作为一个守护进程启动。更多详情请查看/etc/init.d/jenkins。
      2. 创建“jenkins“用户以运行此服务,如果您通过配置文件将其更改为其他用户,则必须更改/var/ log/jenkins,/var/lib/jenkins和/var/cache/jenkins的所有者。
      3. 日志文件将被放入/var/log/jenkins/jenkins.log。如果您正在对Jenkins进行故障排除,请检查此文件。
      4. /etc/sysconfig/jenkins 将预先配置参数
      5. 默认情况下,Jenkins监听端口8080.使用浏览器访问此端口以开始配置。请注意,内置防火墙可能需要打开才能从其他计算机访问此端口
      6. 添加了Jenkins RPM源: /etc/yum.repos.d/jenkins.repo

      更多详情可以参考:https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

  • Installing Jenkins on any system

    经常看到有教程是这么写的: Tomcat + Jenkins,其实jenkins再带jetty,那么最简单的方式应该是

    $ wet http://mirrors.jenkins.io/war-stable/latest/jenkins.war
    $ sudo java -jar jenkins.war

    上述无论是docker安装 ,rpm安装,deb安装,还是Tomcat + Jenkins 都是对其的封装和润色。

参考文档

官方文档 | https://jenkins.io/doc/

官方下载地址 | https://jenkins.io/download/

Jenkins Wiki | https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins

维基百科 | https://zh.wikipedia.org/wiki/Jenkins_(%E8%BD%AF%E4%BB%B6)