在Ubuntu上配置Jenkins权限的详细步骤
sudo apt update && sudo apt upgrade -y wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update sudo apt install jenkins openjdk-17-jre -y
sudo systemctl start jenkins sudo systemctl enable jenkins
http://<Ubuntu服务器IP>:8080
,通过/var/lib/jenkins/secrets/initialAdminPassword
文件获取初始密码(cat /var/lib/jenkins/secrets/initialAdminPassword
),完成初始登录。进入“Manage Jenkins” > “Manage Plugins”,在“Available”标签页搜索“Role-based Authorization Strategy”,勾选后点击“Install without restart”(无需重启安装)。
再次进入“Configure Global Security”,在“Authorization”部分选择Role-Based Strategy,点击“Save”保存配置。
admin
、developer
)。admin
角色勾选所有权限(如Overall: Administer
),developer
角色勾选Overall: Read
、Job: Build
、Job: Cancel
等开发所需权限。project1-dev
),使用正则表达式匹配项目名称(如project1-*
)。Job: Read
、Job: Build
、Job: Workspace
),允许特定用户仅访问指定项目。linux-agent
),使用正则表达式匹配节点名称(如ubuntu-agent-*
)。Agent: Connect
、Agent: Disconnect
),限制用户对节点的操作。admin
)、Item roles(如project1-dev
)、Agent roles(如linux-agent
),点击“Save”。ufw
开放Jenkins默认端口(8080),并限制访问IP(如仅允许公司内网IP):sudo ufw allow from <公司内网IP段> to any port 8080 sudo ufw enable
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d jenkins.yourdomain.com
sudo apt update && sudo apt upgrade jenkins
),并通过rsync
或scp
定期备份/var/lib/jenkins
目录(包含配置与构建数据)。使用不同用户(如admin
、developer
)登录Jenkins,尝试执行管理操作(如创建用户、修改全局配置)或项目操作(如构建、取消任务),确认权限是否符合预期。例如,developer
用户应无法访问“Manage Jenkins”页面,但能正常构建project1-*
项目。