jenkins 以容器启动常用配置
jenkins 常用配置
-
docker run 的时候 用root 账号,加上参数 -u 0 ,同时给上特殊权限 --privileged 。最好在这个容器中可以使用docker 命令,方便后续使用Dockerfile构建 docker 镜像,然后推送到Harbor 私有仓,再去启动这个镜像。
-
jenkins 更改国内加速插件下载中心:https://updates.jenkins-zh.cn/update-center.json
-
Jenkins 版本升级
启动前挂载好jenkins其他版本的war包,放到宿主机的一个目录里,启动的时候映射到容器里,就可以升级jenkins版本。如下就是放在宿主机
/data/jenkins/
的目录中再挂载到jenkins容器里。升级时只需要替换这个war包,重启这个容器 即可。-v /data/jenkins/jenkins.war:/usr/share/jenkins/jenkins.war
-
推送项目文件到远程服务器之前,可以先连接远程服务,清空项目目录里的文件
构建——> 增加构建步骤——> Execute shell script on remote host useing ssh
ssh-site 需要在 系统配置里设置好。几乎安装的插件都可以在 系统设置里找到配置项。
-
jenkins 删除构建历史
https://cloud.tencent.com/developer/ask/123039
脚本:
def jobName = "Your Job Name" def job = Jenkins.instance.getItem(jobName) job.getBuilds().each { it.delete() }
-
jenkins 定时构建和轮询scm
https://www.cnblogs.com/panda-sweets/p/12554200.html
定时构建:
不管远程代码分支上(Svn/Git)的代码有无更新,均执行定时构建任务
轮询SCM:
远程代码分支上(Svn/Git)只要有任何更新,则执行构建任务。
插件管理
-
与权限相关的插件 Role-based Authorization Stategy,下载后安装,然后在全局安全配置中授权使用 role-base 策略。在安全中,点击 Manage and Assaign Roles。管理角色进入管理用户中,新建用户,分配权限。
-
凭据管理,下载插件 Credentials Binding
-
jenkins 的git插件用法。
如果配置 git 用户名和密码登录的时候,使用的是https方式克隆代码报错,可能需要设置 git --global 忽略 https。
-
远程部署项目:使用插件 deploy to container、或者publish over ssh
-
publish over ssh 传输文件夹的时候注意以下三个地方:
- source files 的配置里是两个 *,如
**/*
。这个是相对$WORKSPACE
的路径 - Remote directory,在系统设置里是相当于设置上层目录,而任务构建配置里的路径其实也是相对系统设置里的路径。例如系统设置的是
/data/
,构建时设置的是/www
,则真正的远程目录就是/data/www
。 - 一定要注意 exec cmmand 选项,这里面执行的是 远程主机上的命令,连上远程主机后的目录一般是刚登录后的目录,千万小心执行
rm
命令。
- source files 的配置里是两个 *,如
节点管理
配置多个主机节点,在运行任务工程的时候可以分布式的运行,从而减少单节点的压力。
新增节点有两种方式:
-
jave web 代理方式。配置启动方式选项时选择
通过java Web启动代理
新增节点后前,需要开启50000 端口,用来连接其他节点
增加节点后,保存配置后,根据需要执行的命令配置好其他节点,只需要下载agent.jar 包再到其他节点上执行刚刚提示的命令就好。
-
Launch agent via SSH 启动节点。
需要配置的有节点主机登录认证相关的凭据,节点的用户名密码,或者ssh 认证的凭据。
节点的工作目录,节点上用来构建jenkins 任务的目录。
节点上的java命令路径,注意是填写 bin 后带java 的路径。
还有设置节点标签,在构建工程的时候用来指定节点的。