发布于 2026-01-06 0 阅读
0

使用 GitHub Actions 免费保护您的 Docker 镜像!DEV 全球展示挑战赛,由 Mux 呈现:展示您的项目!

使用 GitHub Actions 免费保护您的 Docker 镜像!

由 Mux 赞助的 DEV 全球展示挑战赛:展示你的项目!

容器安全至关重要,否则
会危及客户安全。然而,如果不投入巨资或聘请经验丰富的 DevOps 团队持续监控镜像并应用补丁,就很难真正做好容器安全防护。

作为开发者,我们希望快速构建产品,所以如果我们能够自动化这个过程,只在出现问题时才收到通知,那就太好了!

今天我们将使用 Github actions 和Phonito.io免费保护我们的图片!

什么是 GitHub Actions?

GitHub Actions 让您轻松实现所有软件工作流程的自动化,现在更配备了世界一流的 CI/CD 功能。直接在 GitHub 上构建、测试和部署代码。代码审查、分支管理和问题分类都按照您想要的方式进行。

是不是很棒!而且你不用像管理讨厌的 Jenkins 那样管理基础设施!

Phonito.io 是什么?

Phonito.io 是一款面向日常开发者的漏洞扫描工具,它可以扫描众多数据库并告知您最新的漏洞,而且对于 CI 集成,它是免费使用的!

即使你以前从未创建过 GitHub Action,这里也是一个很好的起点。

那么,我们开始吧。

  • 转到 GitHub 代码库的“操作”选项卡。
  • 您可以复制下面的 yaml 文件来添加新的工作流,或者Scan with Phonito Security从这个示例工作流中,在您的 Docker 构建之后添加该步骤。
name: Build & Scan Docker Image
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1

      - name: Set tag var
        id: vars
        run: echo ::set-output name=docker_tag::$(echo ${GITHUB_REF} | cut -d'/' -f3)-${GITHUB_SHA}

      - name: Build the Docker image
        run: docker build . --file Dockerfile --tag myapp:$@{{ steps.vars.outputs.docker_tag }}

      - name: Scan with Phonito Security
        uses: phonito/phonito-scanner-action@master
        with:
          image: myapp:$@{{ steps.vars.outputs.docker_tag }}
          phonito-token: ${{ secrets.PHONITO_TOKEN }}
  • 接下来我们需要做的就是从 Phonito.io 获取我们的 API 密钥。

替代文字

  • 将该 API 作为名为 PHONITO_TOKEN 的密钥添加到您的代码库中。

就这样啦🎉

下次你向代码仓库推送代码时,这个扫描器就会运行,检查是否存在任何漏洞。就这么简单,而且完全免费,所以你没有任何理由发布不安全的软件!:)

替代文字

如果遇到问题,请查看此示例仓库或在此处提出问题

文章来源:https://dev.to/jake0lacey/secure-your-docker-images-with-github-actions-for-free-3o4m