Skip to content

为您的Java应用程序配置CI

原文:https://docs.docker.com/language/java/configure-ci-cd/

先决条件

完成本指南的前几节内容,从将您的应用程序容器化开始。您必须拥有GitHub账户和Docker账户才能完成本节内容。

概览

在本节中,您将学习如何设置并使用GitHub Actions来构建并推送您的Docker镜像到Docker Hub。您将完成以下步骤:

  1. 在GitHub上创建一个新仓库。
  2. 定义GitHub Actions工作流。
  3. 运行工作流。

第一步:创建仓库

创建GitHub仓库,配置Docker Hub秘钥,并推送您的源代码。

  1. 在GitHub上创建一个新仓库

  2. 打开仓库的设置,转到Secrets and variables > Actions

  3. 创建一个名为DOCKER_USERNAME的新秘钥,值为您的Docker ID。

  4. 为Docker Hub创建一个新的个人访问令牌(PAT)。您可以将此令牌命名为docker-tutorial

  5. 将PAT作为第二个秘钥添加到您的GitHub仓库中,命名为DOCKERHUB_TOKEN

  6. 在您机器上的本地仓库中,运行以下命令将origin更改为您刚创建的仓库。确保将your-username更改为您的GitHub用户名,将your-repository更改为您创建的仓库名称。

    console
    git remote set-url origin https://github.com/your-username/your-repository.git
  7. 运行以下命令以将您的本地仓库的更改阶段化、提交并推送到GitHub。

    console
    git add -A
    git commit -m "my commit"
    git push -u origin main

第二步:设置工作流

为构建、测试和推送镜像到Docker Hub设置GitHub Actions工作流。

  1. 转到GitHub上的您的仓库,然后选择Actions标签。 该项目已经有了maven-build工作流,用于使用Maven构建和测试您的Java应用程序。如果您愿意,您可以选择禁用此工作流,因为您不会在本指南中使用它。您将创建一个新的替代工作流来构建、测试并推送您的镜像。

  2. 选择New workflow

  3. 选择set up a workflow yourself

    这将带您进入一个页面,在您的仓库中创建一个新的GitHub actions工作流文件,默认为.github/workflows/main.yml

  4. 在编辑器窗口中,复制并粘贴以下YAML配置。

    yaml
    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          -
            name: Checkout
            uses: actions/checkout@v4
          -
            name: Login to Docker Hub
            uses: docker/login-action@v3
            with:
              username: ${{ secrets.DOCKER_USERNAME }}
              password: ${{ secrets.DOCKERHUB_TOKEN }}
          -
            name: Set up Docker Buildx
            uses: docker/setup-buildx-action@v3
          -
            name: Build and test
            uses: docker/build-push-action@v5
            with:
              context: .
              target: test
              load: true
          -
            name: Build and push
            uses: docker/build-push-action@v5
            with:
              context: .
              push: true
              target: final
              tags: ${{ secrets.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

    有关此处使用的

YAML语法的更多信息,请参阅GitHub Actions的工作流语法

第三步:运行工作流

保存工作流文件并运行作业。

  1. 选择**Commit changes...**并将更改推送到main分支。

    推送提交后,工作流自动开始。

  2. 转到Actions标签。它显示工作流。

    选择工作流将显示所有步骤的细分。

  3. 当工作流完成后,转到您的Docker Hub上的仓库

    如果您在该列表中看到新仓库,这意味着GitHub Actions成功地将镜像推送到Docker Hub。

总结

在本节中,您学习了如何为您的应用程序设置GitHub Actions工作流。

相关信息:

下一步

接下来,了解如何在部署之前在Kubernetes上本地测试和调试您的工作负载。