Skip to content

Jenkins 使用

pengzhanbo

679字约2分钟

工具

2018-09-16

Jenkins 是一款功能强大的应用程序,允许持续集成和持续交付项目。这里记录一些 Jenkins 使用的方法。

以下基于 CentOS 系统。

安装

安装详见 官网 Jenkins 安装 流程,各个系统如何安装均有说明。

环境依赖: java

CentOS 下安装:

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install jenkins
  • 默认安装目录 : /var/lib/jenkins
  • 默认日志目录/var/log/jenkins
  • 默认缓存目录 : /var/cache/jenkins
  • 默认admin密码文件 : /var/lib/jenkins/secrets/initialAdminPassword
  • 配置文件 : /etc/sysconfig/jenkins

运行

# 启动 Jenkins
service jenkins start
# 重启 Jenkins
service jenkins restart
# 停止 Jenkins
service jenkins stop

默认运行在 8080 端口, 本机可通过 localhost:8080 访问。

卸载

service jenkiins stop
yum clean all
yum remove jenkins
rm -rf /var/lib/jenkins
rm -rf /var/cache/jenkins
rm -rf /var/log/jenkins

修改端口

  1. 打开Jenkins 配置文件
vim /etc/sysconfig/jenkins
  1. 修改 $HTTP_PORT
$HTTP_PORT="8080"

获取root用户权限

  1. 打开Jenkins 配置文件
vim /etc/sysconfig/jenkins
  1. 修改 HTTP_PORT
$JENKINS_USER="root"
  1. 修改Jenkins 相关目录权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/log/jenkins
chown -R root:root /var/cache/jenkins
  1. 重启Jenkins并验证
service jenkins restart
ps -ef|grep jenkins
# 若显示为root用户,则表示修改完成

开机自启

chkconfig jenkins on

全局工具配置

全局工具配置可以 配置相关工具如MavenGIT等工具的路径、或者安装新的不同版本的工具。

配置该设置需要获取 admin权限,进入系统管理 > 全局工具配置

如:配置全局 GIT:

jenkins global config

用户管理以及用户权限

  • 使用admin权限的账号,进入系统管理 > 用户管理, 可以添加/修改/删除 用户。
  • 进入系统管理 > 全局安全配置 中,勾选 启用安全。访问控制选择 Jenkins专有用户数据库,使用 项目矩阵授权策略, 可以为每个用户分配全局权限。
  • 进入项目配置中,权限 启用项目安全 可以单独为该项目分配用户权限。 从而确保每个项目的安全性。

Git Parameter

为项目添加 git分支/标签选择参数构建配置,从而方便通过不同分支构建项目。

项目配置: git parameter

参数化构建: git parameter

基础pipeline配置:

// Using git without checkout
pipeline {
  agent any
  parameters {
    gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
  }
  stages {
    stage('Example') {
      steps {
        git branch: "${params.BRANCH}", url: 'https://github.com/jenkinsci/git-parameter-plugin.git'
      }
    }
  }
}

阅读插件原文(git-parameter)

其他

相关工具以及项目配置,都只是小问题而已...