mirror of
https://github.com/OneUptime/oneuptime.git
synced 2026-04-06 00:32:12 +02:00
Modify gitlab.yml
This commit is contained in:
27
.gitignore
vendored
Normal file
27
.gitignore
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
node_modules
|
||||
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
.vscode/
|
||||
.idea
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
yarn.lock
|
||||
Untitled-1
|
||||
@@ -3,35 +3,38 @@
|
||||
# This CI/CD will run on an Ubuntu VM. After this script runs, the VM will retain the state.
|
||||
# It's your responsibility to clean the VM up in the cleanup stage after job finishes executing.
|
||||
# This script runs on Microk8s. since our deployments are on Kubernetes, our aim is to create EXACT same replica for test, staging and production.
|
||||
# Define stages
|
||||
|
||||
#Define stages
|
||||
stages:
|
||||
- build_n_test
|
||||
- e2e_test
|
||||
- deploy_staging
|
||||
- deploy_production
|
||||
|
||||
build_n_test:
|
||||
lint_n_audit_backend:
|
||||
stage: build_n_test
|
||||
script:
|
||||
- cd backend
|
||||
- eslint
|
||||
- # npm run audit
|
||||
|
||||
build_n_test_backend:
|
||||
stage: build_n_test
|
||||
script:
|
||||
- sudo docker stop $(sudo docker ps -aq) || echo 'No docker containers'
|
||||
- sudo docker rm $(sudo docker ps -aq) || echo 'No docker containers'
|
||||
- sudo docker run --name mongo -p 27017:27017 -d mongo:3.4
|
||||
- cd backend
|
||||
- sudo docker build -t fyipe-project/backend:1.0.$CI_PIPELINE_IID .
|
||||
- sudo docker run --name fyipe --network container:mongo fyipe-project/backend:1.0.$CI_PIPELINE_IID npm test
|
||||
- cd ..
|
||||
- sudo docker build -t fyipe-project/backend:3.0.$CI_PIPELINE_IID ./backend
|
||||
- sudo docker run --name fyipe --network container:mongo fyipe-project/backend:3.0.$CI_PIPELINE_IID npm test
|
||||
|
||||
e2e_test:
|
||||
stage: e2e_test
|
||||
script:
|
||||
- cd kubernetes
|
||||
- chmod +x ./ci/setup-machine.sh
|
||||
- ./ci/setup-machine.sh
|
||||
- chmod +x ./ci/setup.sh
|
||||
- ./ci/setup.sh
|
||||
- chmod +x ./kubernetes/ci/setup-machine.sh
|
||||
- ./kubernetes/ci/setup-machine.sh
|
||||
- chmod +x ./kubernetes/ci/setup.sh
|
||||
- ./kubernetes/ci/setup.sh
|
||||
- BACKEND_CONTAINER_NAME=`sudo kubectl get pods -l app=backend -o custom-columns=:metadata.name`
|
||||
- sudo kubectl get pod BACKEND_CONTAINER_NAME=
|
||||
only:
|
||||
refs:
|
||||
- release
|
||||
@@ -40,25 +43,20 @@ e2e_test:
|
||||
deploy_staging:
|
||||
stage: deploy_staging
|
||||
script:
|
||||
- cd kubernetes
|
||||
- chmod +x ./ci/deployment-setup.sh
|
||||
- ./ci/deployment-setup.sh
|
||||
- chmod +x ./ci/deployment-staging-setup.sh
|
||||
- ./ci/deployment-staging-setup.sh
|
||||
- cd ..
|
||||
- git clone https://$GIT_USERNAME:$GIT_PASSWORD@gitlab.com/fyipe-project/backend.git
|
||||
- cd backend
|
||||
- git checkout master
|
||||
- sudo docker build -t fyipe-project/backend:master .
|
||||
- sudo docker tag fyipe-project/backend:master registry.gitlab.com/fyipe-project/backend:2.0.$CI_PIPELINE_IID
|
||||
- chmod +x ./kubernetes/ci/deployment-setup.sh
|
||||
- ./kubernetes/ci/deployment-setup.sh
|
||||
- chmod +x ./kubernetes/ci/deployment-staging-setup.sh
|
||||
- ./kubernetes/ci/deployment-staging-setup.sh
|
||||
# Build and deploy backend.
|
||||
- sudo docker build -t fyipe-project/backend:master ./backend
|
||||
- sudo docker tag fyipe-project/backend:master registry.gitlab.com/fyipe-project/backend:3.0.$CI_PIPELINE_IID
|
||||
- sudo docker tag fyipe-project/backend:master registry.gitlab.com/fyipe-project/backend:master
|
||||
- sudo docker push registry.gitlab.com/fyipe-project/backend:2.0.$CI_PIPELINE_IID
|
||||
- sudo docker push registry.gitlab.com/fyipe-project/backend:3.0.$CI_PIPELINE_IID
|
||||
- sudo docker push registry.gitlab.com/fyipe-project/backend:master
|
||||
- sudo $HOME/google-cloud-sdk/bin/kubectl set image deployment/backend backend=registry.gitlab.com/fyipe-project/backend:2.0.$CI_PIPELINE_IID
|
||||
- cd ..
|
||||
- cd kubernetes
|
||||
- chmod +x ./ci/deployment-cleanup.sh
|
||||
- ./ci/deployment-cleanup.sh
|
||||
- sudo $HOME/google-cloud-sdk/bin/kubectl set image deployment/backend backend=registry.gitlab.com/fyipe-project/backend:3.0.$CI_PIPELINE_IID
|
||||
# Cleanup
|
||||
- chmod +x ./kubernetes/ci/deployment-cleanup.sh
|
||||
- ./kubernetes/ci/deployment-cleanup.sh
|
||||
only:
|
||||
refs:
|
||||
- master
|
||||
@@ -68,27 +66,19 @@ deploy_staging:
|
||||
deploy_production:
|
||||
stage: deploy_production
|
||||
script:
|
||||
- sudo rm -r *
|
||||
- git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/fyipe-project/kubernetes
|
||||
- cd kubernetes
|
||||
- chmod +x ./ci/deployment-setup.sh
|
||||
- ./ci/deployment-setup.sh
|
||||
- chmod +x ./ci/deployment-production-setup.sh
|
||||
- ./ci/deployment-production-setup.sh
|
||||
- cd ..
|
||||
- git clone https://$GIT_USERNAME:$GIT_PASSWORD@gitlab.com/fyipe-project/backend.git
|
||||
- cd backend
|
||||
- git checkout release
|
||||
- sudo docker build -t fyipe-project/backend:latest .
|
||||
- sudo docker tag fyipe-project/backend:latest registry.gitlab.com/fyipe-project/backend:1.0.$CI_PIPELINE_IID
|
||||
- chmod +x ./kubernetes/ci/deployment-setup.sh
|
||||
- ./kubernetes/ci/deployment-setup.sh
|
||||
- chmod +x ./kubernetes/ci/deployment-production-setup.sh
|
||||
- ./kubernetes/ci/deployment-production-setup.sh
|
||||
- sudo docker build -t fyipe-project/backend:latest ./backend
|
||||
- sudo docker tag fyipe-project/backend:latest registry.gitlab.com/fyipe-project/backend:3.0.$CI_PIPELINE_IID
|
||||
- sudo docker tag fyipe-project/backend:latest registry.gitlab.com/fyipe-project/backend:latest
|
||||
- sudo docker push registry.gitlab.com/fyipe-project/backend:1.0.$CI_PIPELINE_IID
|
||||
- sudo docker push registry.gitlab.com/fyipe-project/backend:3.0.$CI_PIPELINE_IID
|
||||
- sudo docker push registry.gitlab.com/fyipe-project/backend:latest
|
||||
- sudo $HOME/google-cloud-sdk/bin/kubectl set image deployment/backend backend=registry.gitlab.com/fyipe-project/backend:1.0.$CI_PIPELINE_IID
|
||||
- cd ..
|
||||
- cd kubernetes
|
||||
- chmod +x ./ci/deployment-cleanup.sh
|
||||
- ./ci/deployment-cleanup.sh
|
||||
- sudo $HOME/google-cloud-sdk/bin/kubectl set image deployment/backend backend=registry.gitlab.com/fyipe-project/backend:3.0.$CI_PIPELINE_IID
|
||||
# Cleanup
|
||||
- chmod +x ./kubernetes/ci/deployment-cleanup.sh
|
||||
- ./kubernetes/ci/deployment-cleanup.sh
|
||||
only:
|
||||
refs:
|
||||
- release
|
||||
|
||||
3909
package-lock.json
generated
Normal file
3909
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user