Flutter web docker on GitHub Container Registry
đˇī¸
Photo by Victoire Joncheray on Unsplash
GitHub Container Registry ã GA ãããŋãããĒãŽã§äŊŋãŖãĻãŋãžãīŧ
ã¤ãã§ãĒãŽã§ Flutter web ã§īŧ
æŽéãĢ docker push ãããŽã¯æŽééãããŽã§ actions ã§ãããžãīŧ
ãĩãŗããĢãŦãã¸ããĒã¯ä¸č¨ã§ãīŧ
yuzumone/flutter-web-docker-sample
Dockerfile
ãĩãŗããĢãĒãŽã§ flutter create ã§ããŖãĻãžãīŧ
åŽéãŽå ´å㯠git clone ããã COPY ããŠãŖãĄãã§ãããīŧ
FROM cirrusci/flutter:beta AS buildRUN flutter config --enable-webRUN flutter create sample
WORKDIR /home/cirrus/sample
RUN flutter build webFROM nginx
COPY --from=build /home/cirrus/sample/build/web /usr/share/nginx/html
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}'