diff --git a/.github/workflows/build-branch.yml b/.github/workflows/build-branch.yml index 47bbb94c0..37d8d509b 100644 --- a/.github/workflows/build-branch.yml +++ b/.github/workflows/build-branch.yml @@ -6,17 +6,18 @@ on: - closed branches: - master - - release - preview - qa - develop + release: + types: [released, prereleased] env: - TARGET_BRANCH: ${{ github.event.pull_request.base.ref }} + TARGET_BRANCH: ${{ github.event.pull_request.base.ref || github.event.release.target_commitish }} jobs: branch_build_setup: - if: ${{ (github.event_name == 'pull_request' && github.event.action =='closed' && github.event.pull_request.merged == true) }} + if: ${{ (github.event_name == 'pull_request' && github.event.action =='closed' && github.event.pull_request.merged == true) || github.event_name == 'release' }} name: Build-Push Web/Space/API/Proxy Docker Image runs-on: ubuntu-20.04 @@ -61,14 +62,14 @@ jobs: runs-on: ubuntu-20.04 needs: [branch_build_setup] env: - FRONTEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + FRONTEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-ce:${{ needs.branch_build_setup.outputs.gh_branch_name }} steps: - name: Set Frontend Docker Tag run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend:preview + if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ] && [ "${{ github.event_name }}" == "release" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-ce:latest,${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-ce:${{ github.event.release.tag_name }} + elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend-ce:stable else TAG=${{ env.FRONTEND_TAG }} fi @@ -103,14 +104,14 @@ jobs: runs-on: ubuntu-20.04 needs: [branch_build_setup] env: - SPACE_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-space-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + SPACE_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-space-ce:${{ needs.branch_build_setup.outputs.gh_branch_name }} steps: - name: Set Space Docker Tag run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-space:preview + if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ] && [ "${{ github.event_name }}" == "release" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space-ce:latest,${{ secrets.DOCKERHUB_USERNAME }}/plane-space-ce:${{ github.event.release.tag_name }} + elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-space-ce:stable else TAG=${{ env.SPACE_TAG }} fi @@ -145,14 +146,14 @@ jobs: runs-on: ubuntu-20.04 needs: [branch_build_setup] env: - BACKEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + BACKEND_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-ce:${{ needs.branch_build_setup.outputs.gh_branch_name }} steps: - name: Set Backend Docker Tag run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-backend:preview + if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ] && [ "${{ github.event_name }}" == "release" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-ce:latest,${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-ce:${{ github.event.release.tag_name }} + elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-backend-ce:stable else TAG=${{ env.BACKEND_TAG }} fi @@ -187,14 +188,14 @@ jobs: runs-on: ubuntu-20.04 needs: [branch_build_setup] env: - PROXY_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:${{ needs.branch_build_setup.outputs.gh_branch_name }} + PROXY_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-ce:${{ needs.branch_build_setup.outputs.gh_branch_name }} steps: - name: Set Proxy Docker Tag run: | - if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:latest - elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "release" ] || [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "preview" ]; then - TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-private:preview,${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy:preview + if [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ] && [ "${{ github.event_name }}" == "release" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-ce:latest,${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-ce:${{ github.event.release.tag_name }} + elif [ "${{ needs.branch_build_setup.outputs.gh_branch_name }}" == "master" ]; then + TAG=${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy-ce:stable else TAG=${{ env.PROXY_TAG }} fi diff --git a/.github/workflows/update-docker-images.yml b/.github/workflows/update-docker-images.yml deleted file mode 100644 index 67ae97e75..000000000 --- a/.github/workflows/update-docker-images.yml +++ /dev/null @@ -1,107 +0,0 @@ -name: Update Docker Images for Plane on Release - -on: - release: - types: [released, prereleased] - -jobs: - build_push_backend: - name: Build and Push Api Server Docker Image - runs-on: ubuntu-20.04 - - steps: - - name: Check out the repo - uses: actions/checkout@v3.3.0 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 - - - name: Login to Docker Hub - uses: docker/login-action@v2.1.0 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker (Docker Hub) from Github Release - id: metaFrontend - uses: docker/metadata-action@v4.3.0 - with: - images: ${{ secrets.DOCKERHUB_USERNAME }}/plane-frontend - tags: | - type=ref,event=tag - - - name: Extract metadata (tags, labels) for Docker (Docker Hub) from Github Release - id: metaBackend - uses: docker/metadata-action@v4.3.0 - with: - images: ${{ secrets.DOCKERHUB_USERNAME }}/plane-backend - tags: | - type=ref,event=tag - - - name: Extract metadata (tags, labels) for Docker (Docker Hub) from Github Release - id: metaSpace - uses: docker/metadata-action@v4.3.0 - with: - images: ${{ secrets.DOCKERHUB_USERNAME }}/plane-space - tags: | - type=ref,event=tag - - - name: Extract metadata (tags, labels) for Docker (Docker Hub) from Github Release - id: metaProxy - uses: docker/metadata-action@v4.3.0 - with: - images: ${{ secrets.DOCKERHUB_USERNAME }}/plane-proxy - tags: | - type=ref,event=tag - - - name: Build and Push Frontend to Docker Container Registry - uses: docker/build-push-action@v4.0.0 - with: - context: . - file: ./web/Dockerfile.web - platforms: linux/amd64 - tags: ${{ steps.metaFrontend.outputs.tags }} - push: true - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKET_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and Push Backend to Docker Hub - uses: docker/build-push-action@v4.0.0 - with: - context: ./apiserver - file: ./apiserver/Dockerfile.api - platforms: linux/amd64 - push: true - tags: ${{ steps.metaBackend.outputs.tags }} - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKET_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and Push Plane-Deploy to Docker Hub - uses: docker/build-push-action@v4.0.0 - with: - context: . - file: ./space/Dockerfile.space - platforms: linux/amd64 - push: true - tags: ${{ steps.metaSpace.outputs.tags }} - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKET_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Build and Push Plane-Proxy to Docker Hub - uses: docker/build-push-action@v4.0.0 - with: - context: ./nginx - file: ./nginx/Dockerfile - platforms: linux/amd64 - push: true - tags: ${{ steps.metaProxy.outputs.tags }} - env: - DOCKER_BUILDKIT: 1 - DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} - DOCKET_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/deploy/selfhost/docker-compose.yml b/deploy/selfhost/docker-compose.yml index ba0c28827..194fde36a 100644 --- a/deploy/selfhost/docker-compose.yml +++ b/deploy/selfhost/docker-compose.yml @@ -67,7 +67,7 @@ services: web: <<: *app-env platform: linux/amd64 - image: makeplane/plane-frontend:${APP_RELEASE:-latest} + image: makeplane/plane-frontend-ce:${APP_RELEASE:-latest} restart: unless-stopped command: /usr/local/bin/start.sh web/server.js web deploy: @@ -79,7 +79,7 @@ services: space: <<: *app-env platform: linux/amd64 - image: makeplane/plane-space:${APP_RELEASE:-latest} + image: makeplane/plane-space-ce:${APP_RELEASE:-latest} restart: unless-stopped command: /usr/local/bin/start.sh space/server.js space deploy: @@ -92,7 +92,7 @@ services: api: <<: *app-env platform: linux/amd64 - image: makeplane/plane-backend:${APP_RELEASE:-latest} + image: makeplane/plane-backend-ce:${APP_RELEASE:-latest} restart: unless-stopped command: ./bin/takeoff deploy: @@ -104,7 +104,7 @@ services: worker: <<: *app-env platform: linux/amd64 - image: makeplane/plane-backend:${APP_RELEASE:-latest} + image: makeplane/plane-backend-ce:${APP_RELEASE:-latest} restart: unless-stopped command: ./bin/worker depends_on: @@ -115,7 +115,7 @@ services: beat-worker: <<: *app-env platform: linux/amd64 - image: makeplane/plane-backend:${APP_RELEASE:-latest} + image: makeplane/plane-backend-ce:${APP_RELEASE:-latest} restart: unless-stopped command: ./bin/beat depends_on: @@ -150,7 +150,7 @@ services: proxy: <<: *app-env platform: linux/amd64 - image: makeplane/plane-proxy:${APP_RELEASE:-latest} + image: makeplane/plane-proxy-ce:${APP_RELEASE:-latest} ports: - ${NGINX_PORT}:80 depends_on: diff --git a/deploy/selfhost/install-private.sh b/deploy/selfhost/install-private.sh deleted file mode 100755 index fe410d570..000000000 --- a/deploy/selfhost/install-private.sh +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/bash - -BRANCH=develop -SCRIPT_DIR=$PWD -PLANE_INSTALL_DIR=$PWD/plane-app-private - -function install(){ - echo - echo "Installing on $PLANE_INSTALL_DIR" - download -} -function download(){ - cd $SCRIPT_DIR - TS=$(date +%s) - if [ -f "$PLANE_INSTALL_DIR/docker-compose.yaml" ] - then - mv $PLANE_INSTALL_DIR/docker-compose.yaml $PLANE_INSTALL_DIR/archive/$TS.docker-compose.yaml - fi - - curl -H 'Cache-Control: no-cache, no-store' -s -o $PLANE_INSTALL_DIR/docker-compose.yaml https://raw.githubusercontent.com/makeplane/plane/$BRANCH/deploy/selfhost/docker-compose.yml?$(date +%s) - curl -H 'Cache-Control: no-cache, no-store' -s -o $PLANE_INSTALL_DIR/variables-upgrade.env https://raw.githubusercontent.com/makeplane/plane/$BRANCH/deploy/selfhost/variables.env?$(date +%s) - - if [ -f "$PLANE_INSTALL_DIR/.env" ]; - then - cp $PLANE_INSTALL_DIR/.env $PLANE_INSTALL_DIR/archive/$TS.env - else - mv $PLANE_INSTALL_DIR/variables-upgrade.env $PLANE_INSTALL_DIR/.env - fi - - cp $PLANE_INSTALL_DIR/docker-compose.yaml $PLANE_INSTALL_DIR/temp.yaml - sed -e 's@plane-frontend:@plane-frontend-private:@g' \ - -e 's@plane-space:@plane-space-private:@g' \ - -e 's@plane-backend:@plane-backend-private:@g' \ - -e 's@plane-proxy:@plane-proxy-private:@g' \ - -e 's@${APP_RELEASE:-latest}@'"$BRANCH"'@g' \ - $PLANE_INSTALL_DIR/temp.yaml > $PLANE_INSTALL_DIR/docker-compose.yaml - - rm $PLANE_INSTALL_DIR/temp.yaml - - echo "" - echo "Latest version is now available for you to use" - echo "" - echo "In case of Upgrade, your new setting file is availabe as 'variables-upgrade.env'. Please compare and set the required values in '.env 'file." - echo "" - -} -function startServices(){ - cd $PLANE_INSTALL_DIR - docker compose up -d - cd $SCRIPT_DIR -} -function stopServices(){ - cd $PLANE_INSTALL_DIR - docker compose down - cd $SCRIPT_DIR -} -function restartServices(){ - cd $PLANE_INSTALL_DIR - docker compose restart - cd $SCRIPT_DIR -} -function upgrade(){ - echo "***** STOPPING SERVICES ****" - stopServices - - echo - echo "***** DOWNLOADING LATEST VERSION ****" - download - - echo "***** PLEASE VALIDATE AND START SERVICES ****" - -} -function askForAction(){ - echo - echo "Select a Action you want to perform:" - echo " 1) Install" - echo " 2) Start" - echo " 3) Stop" - echo " 4) Restart" - echo " 5) Upgrade" - echo " 6) Exit" - echo - read -p "Action [2]: " ACTION - until [[ -z "$ACTION" || "$ACTION" =~ ^[1-6]$ ]]; do - echo "$ACTION: invalid selection." - read -p "Action [2]: " ACTION - done - echo - - - if [ "$ACTION" == "1" ] - then - install - askForAction - elif [ "$ACTION" == "2" ] || [ "$ACTION" == "" ] - then - startServices - askForAction - elif [ "$ACTION" == "3" ] - then - stopServices - askForAction - elif [ "$ACTION" == "4" ] - then - restartServices - askForAction - elif [ "$ACTION" == "5" ] - then - upgrade - askForAction - elif [ "$ACTION" == "6" ] - then - exit 0 - else - echo "INVALID ACTION SUPPLIED" - fi -} - -if [ "$BRANCH" != "master" ]; -then - PLANE_INSTALL_DIR=$PWD/plane-app-private-$(echo $BRANCH | sed -r 's@(\/|" "|\.)@-@g') -fi -mkdir -p $PLANE_INSTALL_DIR/archive - -askForAction