Debian上的Docker自动化部署可以通过结合Jenkins和GitLab CI/CD来实现。以下是一个基本的步骤指南:
首先,在Debian服务器上安装Docker和Docker Compose。可以参考以下命令:
# 更新包列表
sudo apt-get update
# 安装必要的软件包
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg software-properties-common
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
# 添加Docker APT源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新包列表
sudo apt-get update
# 安装Docker CE
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# 验证安装
sudo docker run hello-world
安装Jenkins并配置Docker插件。可以参考以下步骤:
# 安装Jenkins
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
# 启动Jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
# 配置Docker插件
sudo jenkins-cli safe-restart
在GitLab项目中创建.gitlab-ci.yml
文件,定义自动化部署流程。以下是一个简单的示例:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- docker build -t my-debian-image:latest .
test_job:
stage: test
script:
- docker run my-debian-image:latest /bin/bash -c "npm test"
deploy_job:
stage: deploy
script:
- scp -r ./dist user@your-server:/path/to/deploy
only:
- main
配置GitLab CI/CD以在代码提交时自动触发构建和部署流程。这通常在项目设置中的CI/CD部分完成。
通过Jenkins和GitLab的界面监控构建和部署状态,查看详细的日志信息,以便于问题排查和调试。
以上步骤提供了一个基本的Debian Docker自动化部署流程。根据具体需求,可以进一步定制和扩展自动化脚本和流程。