linux下Jenkins安装配置

linux环境jenkins安装配置

jenkins简介

  • Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能。

持续集成的意义

  • 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量。
  • 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间发现软件的集成问题,使任意时间发布可部署的软件成为了可能。
  • 持续集成利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

持续集成组件

  • 一个自动构建过程,包括自动编译、分发、部署和测试。
  • 一个代码存储库,即需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,例如SVN、GIT代码库。
  • 一个jenkins持续集成服务器。

jenkins安装部署

在linux服务器中部署jenkins server

  • 安装jdk。jenkins的运行需要依赖jdk。
    执行命令yum install -y java-1.8.0-openjdk-devel.x86_64。安装完成后使用java -version查看安装信息。如下图:
    在这里插入图片描述
    此时jdk安装完成,安装在/usr/lib/jvm中。

安装jenkins

  • 首先配置带有jenkins的yum源。输入如下两条命令:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
  • yum安装jenkins。yum install jenkins -y。
    注意:这里使用的源下载速度缓慢,可以采用国内镜像,这里使用了华为镜像下载、安装。步骤如下:
  1. 进入华为镜像jenkins。https://mirrors.huaweicloud.com/jenkins/redhat-stable/
  2. 选择需要的版本,wget到本地。如:wget https://mirrors.huaweicloud.com/jenkins/redhat-stable/jenkins-2.222.1-1.1.noarch.rpm
  3. yum install jenkins-2.222.1-1.1.noarch.rpm
    完成安装截图如下:
    在这里插入图片描述
  • 配置jenkins启动用户及端口号
  1. vim /etc/sysconfig/jenkins。
  2. 修改JENKINS_USER=“root”,JENKINS_PORT=“8081”。
  3. 修改完成之后保存退出。修改截图如下:
    在这里插入图片描述
  • 启动jenkins服务
systemctl start jenkins
systemctl enable jenkins
  • 此时安装完成,在浏览器中输入ip + 端口号即可进入jenkins页面,如下图所示:
    在这里插入图片描述
  • 经过短暂等待之后,进入如下界面,根据提示从/var/lib/jenkins/secrets/initialAdminPassword中查看密码并粘贴到此处完成登录即可。
    在这里插入图片描述
  • 选择安装推荐的插件或者自定义安装的插件,这里我们选择默认插件安装,安装完成之后进入注册界面,在注册完成之后即可使用jenkins持续集成。完成后如下图所示:
    在这里插入图片描述
    注意:如果在安装插件时出现“无法连接到Jenkins”,则systemctl stop jenkins关闭jenkins服务,然后修改/var/lib/jenkins/config.xml,将true 修改为:false,并且删除以下两个标签和标签内的所有内容<authorizationStrategy …/>和<securityRealm …>到。之后重新systemctl start jenkins即可。删除后config.xml内容如下:
<?xml version='1.1' encoding='UTF-8'?>
<hudson>
  <disabledAdministrativeMonitors/>
  <version>2.222.1</version>
  <installStateName>NEW</installStateName>
  <numExecutors>2</numExecutors>
  <mode>NORMAL</mode>
  <useSecurity>false</useSecurity>
  <disableRememberMe>false</disableRememberMe>
  <projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
  <workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULL_NAME}</workspaceDir>
  <buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
  <jdks/>
  <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
  <myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
  <clouds/>
  <scmCheckoutRetryCount>0</scmCheckoutRetryCount>
  <views>
    <hudson.model.AllView>
      <owner class="hudson" reference="../../.."/>
      <name>all</name>
      <filterExecutors>false</filterExecutors>
      <filterQueue>false</filterQueue>
      <properties class="hudson.model.View$PropertyList"/>
    </hudson.model.AllView>
  </views>
  <primaryView>all</primaryView>
  <slaveAgentPort>-1</slaveAgentPort>
  <label></label>
  <crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
  </crumbIssuer>
  <nodeProperties/>
  <globalNodeProperties/>
</hudson>

在容器中部署jenkins server

安装docker容器
  • 安装并启动docker服务
yum install docker -y
systemctl enable docker
systemctl start docker
安装jenkins镜像
  • docker search jenkins
    查看Docker Hub上可用的jenkins镜像。如下图所示,其中docker.io/jenkinsci/blueocean是jenkins官方推荐镜像。
    在这里插入图片描述
  • docker pull jenkinsci/blueocean
    完成后使用docker images命令查看是否成功。如下图所示
    在这里插入图片描述
运行jenkins镜像
  • 方式一:直接运行,运行期间产生的所有数据都保存在容器内部,容器销毁,数据丢失。
docker run \
    --name jenkins-blueocean \
    -d \
    -p 8081:8080 \
    -p 50001:50000 \
    jenkinsci/blueocean
  • 方式二:Docker会在宿主机上创建一个数据卷jenkins-data,容器映射该卷以持久化数据。
docker run \
  --name jenkins-blueocean \
  -d \
  -p 8081:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  jenkinsci/blueocean

注意:8081端口用来公开访问Web界面,50000端口允许访问远程Java(JIRA)API。
这里我使用了第二种方式启动一个Jenkins容器应用:

  • 创建jenkins文件夹mkdir /dogsheng/jenkins
  • 运行命令docker run --name jenkins-blueocean -d -p 8081:8080 -p 50000:50000 -v /dogsheng/jenkins/:/var/jenkins_home jenkinsci/blueocean
    注意:其中8080端口(冒号后)是docker端口,8081端口(冒号前)为宿主机的端口,可以通过宿主机ip+8081端口号来访问jenkins页面,访问50000端口可以获取到端口信息。
    注意:如果页面访问不成功,请查看宿主机的8081端口是否没有启用或者被占用。
  • docker ps查看是否已经在运行,如下图所示。
    在这里插入图片描述
  • 通过ip + 8081登录页面,步骤与“在linux服务器中部署jenkins server”章节大体相同。结果如下图:
    注意:此时密码存放在我们挂载的目录。这里密码存放在/dogsheng/jenkins/secrets/initialAdminPassword路径下。在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值