GitHub Action黑科技助你一键部署Docker,玩转私有项目!
2022-11-10 04:16:42
私有项目部署的福音:使用 GitHub Action 打包 Docker 镜像
Docker 的魅力
在当今瞬息万变的互联网时代,软件项目不断更新,部署环境也日趋复杂。传统的部署方式已无法满足需求。这时,Docker 作为一种轻量级虚拟化技术应运而生。它以其快速、安全、隔离性强的特点,成为目前最流行的部署方式之一。
GitHub Action 的助力
对于私有项目来说,如何使用 GitHub Action 来打包 Docker 镜像并部署到服务器,一直是一个难题。GitHub Action 是一款强大的持续集成和持续交付工具,它可以帮助我们自动化构建、测试和部署代码。通过使用 GitHub Action,我们可以轻松地将私有项目的代码打包成 Docker 镜像,并将其部署到服务器上。
部署步骤
1. 创建项目
首先,在 GitHub 上创建一个私有项目,并将其代码推送到 GitHub 上。
2. 了解 Docker 基础命令
docker build
:构建 Docker 镜像。
docker run
:运行 Docker 容器。
docker push
:将 Docker 镜像推送到镜像仓库。
docker pull
:从镜像仓库拉取 Docker 镜像。
3. 使用 GitHub Action 构建和部署 Docker 镜像
在 GitHub 项目中创建一个名为 .github/workflows/deploy.yml
的文件,并添加以下内容:
name: Deploy to Server
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build Docker image
run: docker build -t my-image .
- name: Push Docker image to registry
run: docker push my-image
- name: Deploy to server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
port: 22
script: |
docker pull my-image
docker stop my-container
docker rm my-container
docker run -d --name my-container -p 80:80 my-image
4. 运行 GitHub Action
在 GitHub 项目的 Actions 页面中,点击“Run workflow”按钮,选择要运行的 workflow 文件,然后点击“Run”按钮。
5. 验证部署结果
GitHub Action 运行完成后,在服务器上运行命令 docker ps
,如果看到 my-container
容器正在运行,则表示部署成功。
常见问题解答
1. 什么是 Docker?
Docker 是一个轻量级的虚拟化技术,可以将应用程序及其依赖项打包成一个便携、独立的容器,从而实现应用程序在不同环境中的一致运行。
2. GitHub Action 是什么?
GitHub Action 是一款强大的持续集成和持续交付工具,可以帮助我们自动化代码的构建、测试和部署。
3. 如何将 GitHub Action 与 Docker 结合使用?
可以使用 GitHub Action 来构建 Docker 镜像,并将它们推送到镜像仓库,还可以使用 GitHub Action 将 Docker 镜像部署到服务器上。
4. 我可以将 GitHub Action 用于私有项目吗?
当然可以,GitHub Action 可以用于私有项目和公共项目。
5. GitHub Action 的优点有哪些?
GitHub Action 的优点包括:自动化、可定制、社区支持广泛、开源免费。