Flutter web docker on GitHub Container Registry
GitHub Container Registry が GA したみたいなので使ってみます. ついでなので Flutter web で. 普通に docker push するのは普通過ぎるので actions でやります. サンプルレポジトリは下記です.
yuzumone/flutter-web-docker-sample
Dockerfile
Section titled “Dockerfile”サンプルなので flutter create でやってます. 実際の場合は git clone するか COPY かどっちかですかね.
FROM cirrusci/flutter:beta AS buildRUN flutter config --enable-webRUN flutter create sampleWORKDIR /home/cirrus/sampleRUN flutter build webFROM nginxCOPY --from=build /home/cirrus/sample/build/web /usr/share/nginx/htmlworkflow.yml
Section titled “workflow.yml”run してるだけだし shell と変わらないけど. tag どうするか悩んで github.sha 使ったんですけどベストプラクティスがあれば知りたい.
jobs: build: name: Build image runs-on: ubuntu-18.04 steps: - uses: actions/checkout@master - name: Login run: docker login docker.pkg.github.com -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} - name: Build run: docker build -t docker.pkg.github.com/${{ github.repository }}/${IMAGE_NAME}:${{ github.sha }} --file Dockerfile . - name: Push run: docker push docker.pkg.github.com/${{ github.repository }}/${IMAGE_NAME}:${{ github.sha }}あと IMAGE_NAME も今回は env で指定したけど今回みたいに 1 個しか作らないなら下の感じでやるのが良さそう.
echo ${{ github.repository }} | awk -F '/' '{print $2}'