From 8e19c04b44d5549199997f6197caba59ec39eb3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Mon, 26 Sep 2022 13:30:58 +0200 Subject: [PATCH 1/7] Implement automatic deployment for branch '5059-epic-groups' --- .github/workflows/publish.yml | 50 +++++++++++++++++------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index ac333604e..b25e19070 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,7 +4,7 @@ on: push: branches: - master - # - 5093-fix-automatic-deployment # for testing while developing + - 5059-epic-groups # for testing while developing jobs: ############################################################################## @@ -94,16 +94,16 @@ jobs: ########################################################################## - name: Backend | Build `production` image run: | - docker build --target base -t "ocelotsocialnetwork/backend:latest-base" -t "ocelotsocialnetwork/backend:${VERSION}-base" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/ - docker build --target code -t "ocelotsocialnetwork/backend:latest-code" -t "ocelotsocialnetwork/backend:${VERSION}-code" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/ - docker build --target production -t "ocelotsocialnetwork/backend:latest" -t "ocelotsocialnetwork/backend:${VERSION}" -t "ocelotsocialnetwork/backend:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/ + docker build --target base -t "ocelotsocialnetwork/backend-groups:latest-base" -t "ocelotsocialnetwork/backend-groups:${VERSION}-base" -t "ocelotsocialnetwork/backend-groups:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/ + docker build --target code -t "ocelotsocialnetwork/backend-groups:latest-code" -t "ocelotsocialnetwork/backend-groups:${VERSION}-code" -t "ocelotsocialnetwork/backend-groups:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/ + docker build --target production -t "ocelotsocialnetwork/backend-groups:latest" -t "ocelotsocialnetwork/backend-groups:${VERSION}" -t "ocelotsocialnetwork/backend-groups:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT backend/ - name: Backend | Save docker image - run: docker save "ocelotsocialnetwork/backend" > /tmp/backend.tar + run: docker save "ocelotsocialnetwork/backend-groups" > /tmp/backend-groups.tar - name: Upload Artifact uses: actions/upload-artifact@v2 with: name: docker-backend-production - path: /tmp/backend.tar + path: /tmp/backend-groups.tar ############################################################################## # JOB: DOCKER BUILD PRODUCTION WEBAPP ######################################## @@ -134,16 +134,16 @@ jobs: ########################################################################## - name: Webapp | Build `production` image run: | - docker build --target base -t "ocelotsocialnetwork/webapp:latest-base" -t "ocelotsocialnetwork/webapp:${VERSION}-base" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ - docker build --target code -t "ocelotsocialnetwork/webapp:latest-code" -t "ocelotsocialnetwork/webapp:${VERSION}-code" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ - docker build --target production -t "ocelotsocialnetwork/webapp:latest" -t "ocelotsocialnetwork/webapp:${VERSION}" -t "ocelotsocialnetwork/webapp:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ + docker build --target base -t "ocelotsocialnetwork/webapp-groups:latest-base" -t "ocelotsocialnetwork/webapp-groups:${VERSION}-base" -t "ocelotsocialnetwork/webapp-groups:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ + docker build --target code -t "ocelotsocialnetwork/webapp-groups:latest-code" -t "ocelotsocialnetwork/webapp-groups:${VERSION}-code" -t "ocelotsocialnetwork/webapp-groups:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ + docker build --target production -t "ocelotsocialnetwork/webapp-groups:latest" -t "ocelotsocialnetwork/webapp-groups:${VERSION}" -t "ocelotsocialnetwork/webapp-groups:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ - name: Webapp | Save docker image - run: docker save "ocelotsocialnetwork/webapp" > /tmp/webapp.tar + run: docker save "ocelotsocialnetwork/webapp-groups" > /tmp/webapp-groups.tar - name: Upload Artifact uses: actions/upload-artifact@v2 with: name: docker-webapp-production - path: /tmp/webapp.tar + path: /tmp/webapp-groups.tar ############################################################################## # JOB: DOCKER BUILD PRODUCTION MAINTENANCE ################################### @@ -174,16 +174,16 @@ jobs: ########################################################################## - name: Maintenance | Build `production` image run: | - docker build --target base -t "ocelotsocialnetwork/maintenance:latest-base" -t "ocelotsocialnetwork/maintenance:${VERSION}-base" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance - docker build --target code -t "ocelotsocialnetwork/maintenance:latest-code" -t "ocelotsocialnetwork/maintenance:${VERSION}-code" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance - docker build --target production -t "ocelotsocialnetwork/maintenance:latest" -t "ocelotsocialnetwork/maintenance:${VERSION}" -t "ocelotsocialnetwork/maintenance:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance + docker build --target base -t "ocelotsocialnetwork/maintenance-groups:latest-base" -t "ocelotsocialnetwork/maintenance-groups:${VERSION}-base" -t "ocelotsocialnetwork/maintenance-groups:${BUILD_VERSION}-base" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance + docker build --target code -t "ocelotsocialnetwork/maintenance-groups:latest-code" -t "ocelotsocialnetwork/maintenance-groups:${VERSION}-code" -t "ocelotsocialnetwork/maintenance-groups:${BUILD_VERSION}-code" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance + docker build --target production -t "ocelotsocialnetwork/maintenance-groups:latest" -t "ocelotsocialnetwork/maintenance-groups:${VERSION}" -t "ocelotsocialnetwork/maintenance-groups:${BUILD_VERSION}" --build-arg BBUILD_DATE=$BUILD_DATE --build-arg BBUILD_VERSION=$BUILD_VERSION --build-arg BBUILD_COMMIT=$BUILD_COMMIT webapp/ -f webapp/Dockerfile.maintenance - name: Maintenance | Save docker image - run: docker save "ocelotsocialnetwork/maintenance" > /tmp/maintenance.tar + run: docker save "ocelotsocialnetwork/maintenance-groups" > /tmp/maintenance-groups.tar - name: Upload Artifact uses: actions/upload-artifact@v2 with: name: docker-maintenance-production - path: /tmp/maintenance.tar + path: /tmp/maintenance-groups.tar ############################################################################## # JOB: UPLOAD TO DOCKERHUB ################################################### @@ -217,21 +217,21 @@ jobs: name: docker-backend-production path: /tmp - name: Load Docker Image - run: docker load < /tmp/backend.tar + run: docker load < /tmp/backend-groups.tar - name: Download Docker Image (WebApp) uses: actions/download-artifact@v2 with: name: docker-webapp-production path: /tmp - name: Load Docker Image - run: docker load < /tmp/webapp.tar + run: docker load < /tmp/webapp-groups.tar - name: Download Docker Image (Maintenance) uses: actions/download-artifact@v2 with: name: docker-maintenance-production path: /tmp - name: Load Docker Image - run: docker load < /tmp/maintenance.tar + run: docker load < /tmp/maintenance-groups.tar ########################################################################## # Upload ################################################################# ########################################################################## @@ -240,11 +240,11 @@ jobs: - name: Push neo4j run: docker push --all-tags ocelotsocialnetwork/neo4j-community - name: Push backend - run: docker push --all-tags ocelotsocialnetwork/backend + run: docker push --all-tags ocelotsocialnetwork/backend-groups - name: Push webapp - run: docker push --all-tags ocelotsocialnetwork/webapp + run: docker push --all-tags ocelotsocialnetwork/webapp-groups - name: Push maintenance - run: docker push --all-tags ocelotsocialnetwork/maintenance + run: docker push --all-tags ocelotsocialnetwork/maintenance-groups ############################################################################## # JOB: KUBERNETES DEPLOY ACTUAL/LATEST VERSION ###################################### @@ -292,11 +292,11 @@ jobs: # kubectl -n default rollout restart deployment/ocelot-neo4j - name: Deploy actual version '$BUILD_VERSION' to DigitalOcean Kubernetes run: | - kubectl -n default set image deployment/ocelot-webapp container-ocelot-webapp=ocelotsocialnetwork/webapp:$BUILD_VERSION + kubectl -n default set image deployment/ocelot-webapp container-ocelot-webapp=ocelotsocialnetwork/webapp-groups:$BUILD_VERSION kubectl -n default rollout restart deployment/ocelot-webapp - kubectl -n default set image deployment/ocelot-backend container-ocelot-backend=ocelotsocialnetwork/backend:$BUILD_VERSION + kubectl -n default set image deployment/ocelot-backend container-ocelot-backend=ocelotsocialnetwork/backend-groups:$BUILD_VERSION kubectl -n default rollout restart deployment/ocelot-backend - kubectl -n default set image deployment/ocelot-maintenance container-ocelot-maintenance=ocelotsocialnetwork/maintenance:$BUILD_VERSION + kubectl -n default set image deployment/ocelot-maintenance container-ocelot-maintenance=ocelotsocialnetwork/maintenance-groups:$BUILD_VERSION kubectl -n default rollout restart deployment/ocelot-maintenance kubectl -n default set image deployment/ocelot-neo4j container-ocelot-neo4j=ocelotsocialnetwork/neo4j-community:$BUILD_VERSION kubectl -n default rollout restart deployment/ocelot-neo4j From 9c0cc267a0a6b7e1e04649ed2092e04d4ba99b4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Mon, 26 Sep 2022 13:35:03 +0200 Subject: [PATCH 2/7] Disable push on master in 'publishing.yml' --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b25e19070..d4ecca7f5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -3,7 +3,7 @@ name: ocelot.social publish CI on: push: branches: - - master + # - master - 5059-epic-groups # for testing while developing jobs: From 8ff8d55d6d35bd602da0172c73d89539a6249308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Mon, 26 Sep 2022 21:40:10 +0200 Subject: [PATCH 3/7] Implement 'GroupButton' in 'default' layout --- webapp/components/Group/GroupButton.vue | 5 +++++ webapp/layouts/default.vue | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 webapp/components/Group/GroupButton.vue diff --git a/webapp/components/Group/GroupButton.vue b/webapp/components/Group/GroupButton.vue new file mode 100644 index 000000000..2000e3046 --- /dev/null +++ b/webapp/components/Group/GroupButton.vue @@ -0,0 +1,5 @@ + diff --git a/webapp/layouts/default.vue b/webapp/layouts/default.vue index 3e2a4aa69..b23ed98ea 100644 --- a/webapp/layouts/default.vue +++ b/webapp/layouts/default.vue @@ -88,6 +88,9 @@ + + + @@ -125,7 +128,8 @@ import FilterMenu from '~/components/FilterMenu/FilterMenu.vue' import PageFooter from '~/components/PageFooter/PageFooter' import AvatarMenu from '~/components/AvatarMenu/AvatarMenu' import InviteButton from '~/components/InviteButton/InviteButton' -import CategoriesMenu from '~/components/FilterMenu/CategoriesMenu.vue' +import CategoriesMenu from '~/components/FilterMenu/CategoriesMenu' +import GroupButton from '~/components/Group/GroupButton' export default { components: { @@ -139,6 +143,7 @@ export default { PageFooter, InviteButton, CategoriesMenu, + GroupButton, }, mixins: [seo], data() { From 60b68ed63c8f1993095b78c1b8fe76cbdc8fb581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Tue, 27 Sep 2022 13:47:01 +0200 Subject: [PATCH 4/7] Add 'SHOW_GROUP_BUTTON_IN_HEADER' in 'groups.js', still unused --- webapp/constants/groups.js | 1 + 1 file changed, 1 insertion(+) diff --git a/webapp/constants/groups.js b/webapp/constants/groups.js index 3abf0d12a..1c49d3ff3 100644 --- a/webapp/constants/groups.js +++ b/webapp/constants/groups.js @@ -2,3 +2,4 @@ export const NAME_LENGTH_MIN = 3 export const NAME_LENGTH_MAX = 50 export const DESCRIPTION_WITHOUT_HTML_LENGTH_MIN = 100 // with removed HTML tags +export const SHOW_GROUP_BUTTON_IN_HEADER = true From 8867f8674f318d614c8cf9c13a36ebd1ac466a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Tue, 27 Sep 2022 16:09:33 +0200 Subject: [PATCH 5/7] Make group button in header configurable --- webapp/layouts/default.vue | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/webapp/layouts/default.vue b/webapp/layouts/default.vue index b23ed98ea..6fb3a2f54 100644 --- a/webapp/layouts/default.vue +++ b/webapp/layouts/default.vue @@ -88,7 +88,7 @@ - + @@ -115,21 +115,22 @@