BoyChai's Blog - jenkins https://blog.boychai.xyz/index.php/tag/jenkins/ Jenkins-持续性集成平台(平台优化) https://blog.boychai.xyz/index.php/archives/14/ 2022-06-01T08:25:00+00:00 更换插件源进入到Jenkins里面依次点击Manage Jenkins(系统管理) -> Plugin Manager(插件管理) -> Advanced(高级)之后修改Update Site(升级站点)选项的地址,默认地址为:https://updates.jenkins.io/update-center.json是jenkins的官方插件源,下载插件会很慢,建议使用国内的,这里把我他替换成清华大学的源地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,更换好后需要点击submit保存一下之后重启jenkins切换中文插件名称:Localization: Chinese (Simplified)在Plugin Manager(插件管理)界面点击Available(可选插件),搜索Chinese之后勾选复选框点击"Install without restart"即可安装,这个插件安装好需要重启才可以生效。安装过程中点击Restart Jenkins那个复选框即可权限管理插件名称:Role-based Authorization Strategy默认jenkins是没有做用户权限这块的内容的,所以需要这个插件。在Plugin Manager(插件管理)界面点击Available(可选插件),搜索Role-based之后勾选复选框点击"Install without restart"即可安装。安装好之后依次点击Manage Jenkins(系统管理) -> Configure Global Security(全局安全配置),找到授权策略,选择"Role-Based Strategy"项,保存。之后依次点击 Manage Jenkins(系统管理) -> Manage and Assign Roles(管理和分配角色) -> Manage Roles(管理角色)。角色(Roles)就可以理解为权限组,进入之后会有三种角色类型,如下表角色类型作用Global Roles平台全局的权限Item Roles针对项目的权限Node RolesJenkins的节点权限关于角色的权限信息对照全面权限作用Administer系统管理员权限Read浏览框架(登录)代理权限作用Build该权限允许用户在代理上允许任务。Configure该权限允许用户配置代理。Connect该权限允许用户连接代理或者让代理上线。Create该权限允许用户创建代理。Delete该权限允许用户删除已存在的代理。Disconnect该权限允许用户断开或者临时下线代理。Provision设置新节点任务权限作用Build该权限允许启动一个新的构建任务。Cancel该权限允许取消计划或终止运行中的构建任务。Configure修改任务的配置。Create创建新的任务。Delete删除任务。Discover该权限允许查找任务。比读取的权限低,当用户试图访问任务时会重定向到登录页面。如果没有该权限,就不能查找工程名称,并会得到404错误。Read查看任务。(可以拒绝该权限,但允许发现,迫使匿名用户登录到看到任务)Workspace该权限允许获取 Jenkins 执行构建任务时检出的工作空间内容。如果你不希望用户通过工作空间浏览器访问工作空间中的文件(例如: SCM 检出的源码或者构建的中间产物),你可以取消该权限。视图权限作用Configure该权限允许用户改变视图的配置。Create该权限允许用户创建新的视图。Delete该权限允许用户删除已有的视图。Read该权限允许用户查看视图(允许读取访问)。这里我创建了两个角色一个全局的一个项目的,分配的权限如下图,其中item的角色添加会有一个pattern的一个项,这里面是写正则表达式的,”item01.*“的意思为前缀以item01的项目。最后点击save(保存)角色创建好之后我们创建一个用户测试一下,依次点击Manage Jenkins(系统管理) -> Manage Users(管理用户) -> Create User(新建用户),创建好之后如下图之后依次点击 Manage Jenkins(系统管理) -> Manage and Assign Roles(管理和分配角色) -> Assign Roles(指派角色)。把创建的角色添加到全局和项目角色里面,并且勾选刚才创建的角色组里面。记得点击Save(保存)。此时我们创建一个item01的项目,依次点击New Item(新建任务) -> 输入item01 -> 点击"构建一个自由风格的软件项目" -> OK(确定) -> Save(保存)此时我们就创建了一个项目,如下图这个时候退出管理员登录刚才创建的用户,效果如下凭证管理插件名称:Credentials Binding在使用jenkins的时候会有很多的项目需要去pull,会涉及到很多账户的管理,默认jenkins是不提供这方面的管理的。依次点击 Manage Jenkins(系统管理) -> Manage Credentials(凭据) -> global-> Add Credentials(添加凭据) 可以进行对凭据的管理类型分别为,Username with password(用户名和密码)、SSH Username with private key(具有私钥的SSH用户名)、Secret file(机密文件)、Secret text(机密文本)、Certificate(证书)GIT插件插件名称:Git安装之前请确保系统里有git这个工具,jenkins的docker会自带git。jenkins默认是没有git克隆代码这个能力的,这个插件完美解决了这个问题。在项目配置里找到源码管理选择git并添加代码仓库地址保存,例如下图之后我们运行构建一下,查看一下状态,如下图 Jenkins-持续性集成平台(部署安装) https://blog.boychai.xyz/index.php/archives/13/ 2022-05-31T04:28:00+00:00 官方文档官方文档YUM的方式系统环境Rocky Linux 8.5,2G内存2核CPU,selinux和防火墙全部关闭安装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 install fontconfig java-11-openjdk yum install jenkins systemctl start jenkins启动后直接访问主机的8080端口即可Docker的方式系统环境Rocky Linux 8.5,2G内存2核CPU,selinux和防火墙全部关闭docker版本: 20.10.16安装useradd -s /sbin/nologin jenkins mkdir /srv/jenkins chown -R jenkins:jenkins /srv/jenkins docker run -d --name jenkins -p 8080:8080 -p 50000:50000 --restart=on-failure -v /srv/jenkins:/var/jenkins_home -u root jenkins/jenkins:lts-jdk1150000端口是一个代理端口,/srv/Jenkins是本地的目录需要自己创建,也可以自己改。初始化访问8080端口之后需要进入初始化阶段,访问之后如下图如果在本地直接部署的话可以直接cat这个文件“cat /var/lib/jenkins/secrets/initialAdminPassword”,如果是在docker中部署的可以使用docker logs jenkins来查,或者"cat /srv/jenkins/secrets/initialAdminPassword"来查看这个安装插件会从jenkins官网来下载插件,会很慢不建议初始化的时候安装任何的插件,这里点击选择插件来安装,之后需点击"无"之后在进行安装这个时候会让你创建一个管理员用户,这个用户无所谓根据自己来创建即可之后还会让你去配置一个url地址这个直接默认保存即可有域名可以配域名。之后就安装完成了