From bccd43dc2ec027d13fff5df56c9bd97bbbe2da39 Mon Sep 17 00:00:00 2001 From: linozen Date: Mon, 19 Jul 2021 08:49:15 +0200 Subject: [PATCH] new workflow with base image --- .github/workflows/deploy.yml | 61 +++++++++++++++++++++++------------- Dockerfile | 4 +-- 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 0ab3948..0a9b57e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,7 +1,11 @@ +--- name: deploy streamlit app on: [push] +env: + IMAGE_NAME: streamlit-ioi-base + jobs: deploy: name: Deploy to server @@ -9,28 +13,43 @@ jobs: permissions: packages: write contents: read + steps: - name: Check out the repo uses: actions/checkout@v2 - - name: Push to GitHub Packages - uses: docker/build-push-action@v1 - with: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - registry: docker.pkg.github.com - repository: snv-berlin/ioi/survey-explorer - tag_with_ref: true - context: explorer - - - name: Deploy Docker image to server using SSH - uses: appleboy/ssh-action@master - with: - host: ${{ secrets.HOST }} - username: ${{ secrets.USERNAME }} - key: ${{ secrets.KEY }} - script: | - docker pull docker.pkg.github.com/snv-berlin/ioi/survey-explorer:latest - docker stop survey-explorer - docker rm survey-explorer - docker run -d -p 8501:8501 --name survey-explorer docker.pkg.github.com/snv-berlin/ioi/survey-explorer:latest + - name: Build image + run: docker build . --file Dockerfile --tag $IMAGE_NAME --label "runnumber=${GITHUB_RUN_ID}" + + - name: Log in to registry + # This is where you will update the PAT to GITHUB_TOKEN + run: echo "${{ secrets.GH_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin + + - name: Push image + run: | + IMAGE_ID=ghcr.io/${{ github.repository_owner }}/$IMAGE_NAME + + # Change all uppercase to lowercase + IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]') + # Strip git ref prefix from version + VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') + # Strip "v" prefix from tag name + [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//') + # Use Docker `latest` tag convention + [ "$VERSION" == "master" ] && VERSION=latest + echo IMAGE_ID=$IMAGE_ID + echo VERSION=$VERSION + docker tag $IMAGE_NAME $IMAGE_ID:$VERSION + docker push $IMAGE_ID:$VERSION + + # - name: Deploy Docker image to server using SSH + # uses: appleboy/ssh-action@master + # with: + # host: ioi.sehn.dev + # username: root + # key: ${{ secrets.KEY }} + # script: | + # docker pull docker.pkg.github.com/snv-berlin/ioi/survey-explorer:latest + # docker stop survey-explorer + # docker rm survey-explorer + # docker run -d -p 8501:8501 --name survey-explorer docker.pkg.github.com/snv-berlin/ioi/survey-explorer:latest diff --git a/Dockerfile b/Dockerfile index 7a0eb28..a7a3e2a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,5 +21,5 @@ RUN apt-get remove -y --purge make gcc build-essential \ && find /usr/local/lib/python3.9 -name "*.pyc" -type f -delete USER nonroot -EXPOSE 8501 -CMD pipenv run streamlit run explorer/all.py +EXPOSE 8501-8503 +ENTRYPOINT [ "pipenv", "run" ]