安装
判断java版本
java -version
如果是GIJ版本的java,则需要重装java
sudo yum remove java
sudo yum install -y java-1.8.0-openjdk
安装jenkins:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum -y install jenkins
通过 vim /etc/sysconfig/jenkins 可以修改/查看 jenkins的端口号
到此为止jenkins安装完成
如果jenkins 运行不正常,用 systemctl status jenkins 查看
启动jenkins
service jenkins start
给Jenkins配置环境变量
打开服务器控制台
输入
echo $PATH
复制输出的内容。
在jenkins网页上,打开
管理Jenkins-》系统设置-》全局属性-》环境变量-》新增
添加PATH, 粘贴上面复制的内容。
最后保存
给 jenkins 配置 github 私钥
打开jenkins网页
点击
点击系统
点击
点击添加凭据
类型选择为 SSH Username with private key
ID和描述填写这个key的名称即可
Username可不写
输入private key
Passphase 若没有,则空着
点击确定
最后再在github上,配置public key 即可
配置流水线
在首页上,点击 新建流水线
然后选择流水线并点击确定
General , 触发器等可以不填,但流水线脚本一定要填
流水线脚本案例
node {
withEnv(["GOPATH=$WORKSPACE",'JENKINS_NODE_COOKIE=dontkillme']) {
stage('Init gopath') {
sh 'mkdir -p $WORKSPACE/react_app_src'
}
stage('Get code') {
checkout([
$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'react_app_src']],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'ssh_for_jenkins',
url: 'git@github.com:NikoKVCS/react_app.git'
]]
])
}
stage('Build go proejct') {
sh 'cd react_app_src;chmod +x ./build.sh;./build.sh'
}
stage('Run server') {
sh 'cd react_app_src;chmod +x ./deploy.sh;./deploy.sh'
}
}
}
env.PROJ_DIR='src/go_react'
node {
withEnv(["GOPATH=$WORKSPACE"]) {
stage('Init gopath') {
sh 'mkdir -p $GOPATH/{bin,pkg,src}'
}
stage('Get code') {
checkout([
$class: 'GitSCM',
branches: [[name: '*/master']],
doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'src/go_react']],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'ssh_for_jenkins',
url: 'git@github.com:NikoKVCS/go_react.git'
]]
])
}
stage('Build go proejct') {
sh 'cd ${PROJ_DIR};chmod +x ./build.sh;./build.sh'
}
stage('Run server') {
sh 'cd ${PROJ_DIR};chmod +x ./deploy.sh;./deploy.sh'
}
}
}