使用 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 密钥。
- 在Phonito.io注册
- 获取您的 API 密钥🔑
- 将该 API 作为名为 PHONITO_TOKEN 的密钥添加到您的代码库中。
就这样啦🎉
下次你向代码仓库推送代码时,这个扫描器就会运行,检查是否存在任何漏洞。就这么简单,而且完全免费,所以你没有任何理由发布不安全的软件!:)
文章来源:https://dev.to/jake0lacey/secure-your-docker-images-with-github-actions-for-free-3o4m

