通过脚本配置CentOS Jenkins的完整流程
一、前置准备:系统环境配置
在配置Jenkins前,需确保CentOS系统满足基础要求:更新系统包、安装Java(Jenkins依赖Java 8+)、安装Git(用于代码托管库交互)。可通过以下脚本自动化完成:
# 更新系统包
sudo yum update -y
# 安装Java 1.8
sudo yum install -y java-1.8.0-openjdk-devel
# 验证Java安装
java -version
# 安装Git
sudo yum install -y git
二、Jenkins安装与启动脚本
使用官方YUM仓库安装Jenkins,并通过systemd配置开机自启。创建jenkins_install.sh脚本:
# 添加Jenkins YUM仓库
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
# 安装Jenkins
sudo yum install -y jenkins
# 启动Jenkins服务并设置开机自启
sudo systemctl start jenkins
sudo systemctl enable jenkins
# 开放防火墙端口(若启用防火墙)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
运行脚本后,Jenkins服务将自动启动,可通过http://<服务器IP>:8080访问Web界面。
三、Jenkins初始配置自动化
首次访问Jenkins需解锁管理员账号并完成初始设置。可通过以下命令获取初始密码:
# 获取管理员初始密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
为简化后续配置,可使用Jenkins CLI或API自动化安装推荐插件、创建管理员账号。以下是通过curl调用API创建管理员账号的示例(需替换<密码>和<管理员名>):
# 创建管理员账号(需先获取API Token)
ADMIN_PASSWORD="your_admin_password"
ADMIN_USER="admin"
curl -X POST -u admin:$(sudo cat /var/lib/jenkins/secrets/initialAdminPassword) \
-d "username=$ADMIN_USER&password=$ADMIN_PASSWORD&fullname=Administrator&email=admin@example.com" \
http://localhost:8080/securityRealm/createAccountByAdmin
四、通过脚本创建Jenkins Job
1. Freestyle Project脚本配置
Freestyle项目适用于简单构建流程(如编译、打包)。以下是一个Shell脚本示例(用于Java项目编译):
# 创建Freestyle项目并配置构建步骤
JOB_NAME="java-build-job"
BUILD_SCRIPT="""
#!/bin/bash
# 拉取代码
git clone https://github.com/your-repo/java-project.git
cd java-project
# 编译项目
mvn clean install
"""
# 使用Jenkins CLI创建Job(需安装jenkins-cli.jar)
java -jar jenkins-cli.jar -s http://localhost:8080/ create-job $JOB_NAME < job_config.xml
job_config.xml需包含构建步骤(如Execute shell),可通过Jenkins Web界面导出模板修改。
2. Pipeline脚本配置
Pipeline适用于复杂流水线(如多阶段构建、部署)。以下是一个简单的Jenkinsfile示例(用于Node.js项目):
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git 'https://github.com/your-repo/nodejs-project.git'
}
}
stage('Install Dependencies') {
steps {
sh 'npm install'
}
}
stage('Build') {
steps {
sh 'npm run build'
}
}
stage('Deploy') {
steps {
sh 'cp -rf ./dist/* /var/www/html/'
}
}
}
post {
always {
echo 'Cleaning up...'
}
}
}
将Jenkinsfile提交到代码仓库,然后在Jenkins中创建Pipeline项目,选择“Pipeline script from SCM”,指定仓库地址和Jenkinsfile路径即可。
五、常用运维脚本:Jenkins服务控制
为方便管理Jenkins服务,可创建jenkins_control.sh脚本:
#!/bin/bash
JENKINS_SERVICE="jenkins"
case "$1" in
start)
sudo systemctl start $JENKINS_SERVICE
echo "Jenkins started."
;;
stop)
sudo systemctl stop $JENKINS_SERVICE
echo "Jenkins stopped."
;;
restart)
sudo systemctl restart $JENKINS_SERVICE
echo "Jenkins restarted."
;;
status)
if sudo systemctl is-active --quiet $JENKINS_SERVICE; then
echo "Jenkins is running."
else
echo "Jenkins is stopped."
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
赋予执行权限后,可通过./jenkins_control.sh start等命令管理服务。
注意事项
- 权限问题:确保Jenkins用户(默认
jenkins)有权限访问项目目录和执行脚本。 - 安全配置:建议配置HTTPS(通过Nginx反向隧道)、限制管理员权限、定期更新Jenkins及插件。
- 日志查看:构建日志可通过Jenkins Web界面查看,系统日志位于
/var/log/jenkins/jenkins.log。
通过以上脚本,可实现CentOS上Jenkins的自动化安装、配置与管理,提升DevOps效率。
以上就是关于“如何通过脚本配置CentOS Jenkins”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm