jenkins简单部署设置,权限管理,pipeline语法自动构建,必备插件等
Posted Sicc1107
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jenkins简单部署设置,权限管理,pipeline语法自动构建,必备插件等相关的知识,希望对你有一定的参考价值。
jenkins docker安装
官网地址文档:https://www.jenkins.io/doc/book/installing/docker/
官网使用的是 在 Docker 服务器中启用 TLS。来管理docker,并且需要更新官方镜像
为了方便 可以直接使用挂在的形式使得jenkins使用docker命令
docker run -itd --name jenkins \\
-u root \\
-v /usr/bin/docker:/usr/bin/docker \\
-v /home/jenkins:/var/jenkins_home \\
-v /var/run/docker.sock:/var/run/docker.sock:rw \\
-p 8080:8080 -p 50000:50000 \\
jenkins/jenkins
#/var/jenkins_home jenkins工作目录
#/usr/bin/docker docker命令放入其中
#/var/run/docker.sock 为了docker命令能执行
#8080服务访问端口 50000 agent连接端口
docker logs --tail=10 jenkins #查看初始密码
视图管理
新建视图
安装权限管理插件
Manage Jenkins -> Manage Plugins 选择安装Role-based Authorization Strategy插件
Manage Jenkins -> Configure Global Security 将授权策略设置为 Role-Based Strategy
设置完成后即可在security中看到Manage and Assign Roles
创建2个不同的账号及job视图
点击系统管理—管理用户—新建用户
创建Jenkins角色
Jenkins两种角色的说明:
Global roles:全局角色,主要用于配置用户的功能权限
Item roles:项目角色,主要管理项目的权限
将角色分配给用户
角色是用来决定用户有什么权限,因此需要和用户进行绑定
登陆用户验证
jenkins agent配置
设置master 为0
添加agent 固定节点
获取secret
启动agent容器 设置初始化参数
docker run -itd --name dev-agent \\
-u root \\
-v /var/run/docker.sock:/var/run/docker.sock:rw \\
-v /usr/bin/docker:/usr/bin/docker \\
-v /root/sichenhao/dev_agent:/var/jenkins_home \\
--init jenkins/inbound-agent \\
-workDir=/var/jenkins_home \\
-url http://10.10.1.1:8085 \\
ab40d8ca6f7da4bbf30046026fb476880a853fc9573ec24672efc8ba261eb7aa dev-agent
Git webhook 钩子插件
Generic Webhook Trigger
参数化构建插件
Git Parameter
蓝色海洋插件
Blue Ocean
docker插件
docker pipline
钉钉机器人通知插件
DingTalk
Pipeline流水线脚本插件
Pipeline
阶段视图 Pipeline Stage View
中文插件
Locale plugin
Chinese (Simplified)Version1.0.24
git代码拉取
1 配置全局git账号
新增项目git地址参数分支参数
去除前面的origin
pipeline
agent any
stages
stage('git')
steps
git branch: '$BRANCH', credentialsId: '3482dd92-49ed-49e4-b7ba-01151e13f6c0', url: '$gitUrl'
sh """
pwd
ls -la ./
"""
stage('Build')
steps
sh """
pwd
ls -la ./
"""
stage('Test')
steps
sh """
pwd
ls -la ./
"""
stage('Deploy')
steps
sh """
pwd
ls -la ./
"""
点击构建
查看目录
参数化构建
def gitUrl = "https://gitee.com/si-chenhao/alert-webhook.git"
pipeline
agent any
parameters gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
stages
stage('git')
steps
echo "git clone"
sh "pwd"
git branch: "$BRANCH", credentialsId: '3482dd92-49ed-49e4-b7ba-01151e13f6c0', url: "$gitUrl"
sh """
pwd
ls -la ./
"""
stage('Build')
steps
timeout(time: 10, unit: 'MINUTES')
script
env.DEPLOY_ENV = input message: '选择部署节点环境', ok: 'deploy',parameters: [choice(name: 'DEPLOY_ENV', choices: ['hz', 'gd', 'sh', 'bj'], description: '选择部署环境')]
switch("$env.DEPLOY_ENV")
// 杭州环境发布
case 'hz':
println('deploy 杭州')
env.DEPLOY_HZIP = input message: '选择部署节点环境ip', ok: 'deploy',parameters: [choice(name: 'DEPLOY_HZIP', choices: ['10.10.10.1', '10.10.10.2'], description: '选择部署环境ip')]
echo "$DEPLOY_ENV"
echo "$DEPLOY_HZIP"
sh """
echo "杭州"
"""
break;
// 广东环境发布
case 'gd':
println('deploy 广东')
env.DEPLOY_GDIP = input message: '选择部署节点环境ip', ok: 'deploy',parameters: [choice(name: 'DEPLOY_GGIP', choices: ['10.10.10.7', '10.10.10.8'], description: '选择部署环境ip')]
echo "$DEPLOY_ENV"
echo "$DEPLOY_GDIP"
sh """
echo "广东"
"""
break;
// 上海环境发布
case 'sh':
println('deploy sh prd')
env.DEPLOY_SHIP = input message: '选择部署节点环境ip', ok: 'deploy',parameters: [choice(name: 'DEPLOY_FFIP', choices: ['10.10.10.3', '10.10.10.4'], description: '选择部署环境ip')]
echo "$DEPLOY_ENV"
echo "$DEPLOY_SHIP"
sh """
echo "上海"
"""
break;
// 北京环境发布
case 'bj':
println('deploy bj prd')
env.DEPLOY_BJIP = input message: '选择部署节点环境ip', ok: 'deploy',parameters: [choice(name: 'DEPLOY_JPIP', choices: ['10.10.10.5', '10.10.1.6'], description: '选择部署环境ip')]
echo "$DEPLOY_ENV"
echo "$DEPLOY_BJIP"
sh """
echo "北京"
"""
break;
default:
println('error 未选择节点环境信息')
stage('Test')
steps
script
sh """
pwd
cd ..
pwd
ls -la ./
"""
stage('Deploy')
steps
sh """
pwd
ls -la ./
"""
以上是关于jenkins简单部署设置,权限管理,pipeline语法自动构建,必备插件等的主要内容,如果未能解决你的问题,请参考以下文章
jenkins部署设置,权限管理,pipeline语法自动构建,必备插件等