首先确保你有一台运行CentOS 7/8的服务器,并拥有root或sudo权限。
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
sudo docker --version
sudo docker run hello-world
sudo mkdir -p /var/jenkins_home
sudo chown -R 1000:1000 /var/jenkins_home
sudo docker run -d --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts
sudo docker logs jenkins
或者直接查看文件:
sudo cat /var/jenkins_home/secrets/initialAdminPassword
http://<your-server-ip>:8080
进入"Manage Jenkins" > "Manage Plugins",安装以下插件: - Docker Pipeline - Git - Blue Ocean (可选)
进入"Manage Jenkins" > "Configure System",确保Docker配置正确。
pipeline {
agent any
stages {
stage('Build') {
steps {
echo 'Building...'
}
}
stage('Test') {
steps {
echo 'Testing...'
}
}
stage('Deploy') {
steps {
echo 'Deploying...'
}
}
}
}
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --permanent --add-port=50000/tcp
sudo firewall-cmd --reload
考虑使用Nginx反向代理为Jenkins添加HTTPS支持。
如果遇到Docker权限问题,可以将Jenkins用户加入docker组:
sudo usermod -aG docker jenkins
确保正确挂载了数据卷,如上述命令中的-v /var/jenkins_home:/var/jenkins_home
。
Jenkins可能需要更多内存,可以在启动容器时添加内存限制:
sudo docker run -d --name jenkins -m 2g ...
定期备份/var/jenkins_home
目录,这是Jenkins的所有配置和数据存储位置。
通过以上步骤,你已经在CentOS服务器上成功部署了Docker+Jenkins持续集成环境。现在可以开始配置你的项目自动化构建、测试和部署流程了。