debian-mirror-gitlab/.gitpod.yml
2023-06-09 08:11:10 +05:30

128 lines
5.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Gitpod file reference
# https://www.gitpod.io/docs/configure/workspaces/tasks
image: registry.gitlab.com/gitlab-org/gitlab-development-kit/gitpod-workspace:stable
checkoutLocation: gitlab-development-kit/gitlab
tasks:
- name: GDK
# "command:" emits gitpod-start
before: |
START_UNIXTIME="$(date +%s)"
echo START_UNIXTIME="$(date +%s)" > /workspace/gitpod_start_time.sh
command: |
# send signal to other tasks that Gitpod started
gp sync-done gitpod-start
echo "Waiting for other task to copy GDK.."
gp sync-await gdk-copied && cd /workspace/gitlab-development-kit && gdk help
- name: GitLab
# "command:" emits gdk-copied
init: |
(
set -e
echo "$(date) Copying GDK" | tee -a /workspace/startup.log
cp -r $HOME/gitlab-development-kit /workspace/
cd /workspace/gitlab-development-kit
mv -v /workspace/gitlab-development-kit/secrets.yml /workspace/gitlab-development-kit/gitlab/config
# ensure gdk.yml has correct instance settings
gdk config set gitlab.rails.port 443 |& tee -a /workspace/startup.log
gdk config set gitlab.rails.https.enabled true |& tee -a /workspace/startup.log
gdk config set webpack.host 127.0.0.1 |& tee -a /workspace/startup.log
gdk config set webpack.static false |& tee -a /workspace/startup.log
gdk config set webpack.live_reload false |& tee -a /workspace/startup.log
# reconfigure GDK
echo "$(date) Reconfiguring GDK" | tee -a /workspace/startup.log
gdk reconfigure
# run DB migrations
echo "$(date) Running DB migrations" | tee -a /workspace/startup.log
make gitlab-db-migrate
# stop GDK
echo "$(date) Stopping GDK" | tee -a /workspace/startup.log
gdk stop
echo "$(date) GDK stopped" | tee -a /workspace/startup.log
)
command: |
(
set -e
gp sync-done gdk-copied
gp sync-await gitpod-start
[[ -f /workspace/gitpod_start_time.sh ]] && source /workspace/gitpod_start_time.sh
SECONDS=0
cd /workspace/gitlab-development-kit
# update GDK
if [ "$GITLAB_UPDATE_GDK" == true ]; then
echo "$(date) Updating GDK" | tee -a /workspace/startup.log
gdk update
fi
# ensure gdk.yml has correct instance settings
gdk config set gitlab.rails.hostname $(gp url 3000 | sed -e 's+^http[s]*://++')
gdk config set gitlab.rails.port 443
gdk config set gitlab.rails.https.enabled true
gdk config set webpack.host 127.0.0.1
gdk config set webpack.static false
gdk config set webpack.live_reload false
# reconfigure GDK
echo "$(date) Reconfiguring GDK" | tee -a /workspace/startup.log
gdk reconfigure
# start GDK
echo "$(date) Starting GDK" | tee -a /workspace/startup.log
export DEV_SERVER_PUBLIC_ADDR=$(gp url 3808)
export RAILS_HOSTS=$(gp url 3000 | sed -e 's+^http[s]*://++')
gdk start
# Run DB migrations
if [ "$GITLAB_RUN_DB_MIGRATIONS" == true ]; then
make gitlab-db-migrate
fi
cd /workspace/gitlab-development-kit/gitlab
echo "--- on branch: $(git branch --show-current)"
echo "--- installing lefthook"
bundle exec lefthook install
echo "--- resetting db/structure.sql"
git checkout db/structure.sql
echo "--- waiting for GitLab"
gp ports await 3000
printf "Awaiting /-/readiness on $(gp url 3000) ..."
# Check /-/readiness which returns JSON, but we're only interested in the exit code
#
# We use http://localhost:3000 instead of the public hostname because
# it's no longer possible to access as specific cookies are required
until curl --silent --no-buffer --fail http://localhost:3000/-/readiness > /dev/null 2>&1; do printf '.'; sleep 5; done && echo ""
# Give Gitpod a few more seconds to set up everything ...
sleep 5
printf "$(date) GitLab is up (took ~%.1f minutes)\n" "$((10*$SECONDS/60))e-1" | tee -a /workspace/startup.log
gp preview $(gp url 3000) || true
PREBUILD_LOG=(/workspace/.gitpod/prebuild-log-*)
[[ -f /workspace/gitpod_start_time.sh ]] && printf "Took %.1f minutes from https://gitlab.com/gitlab-org/gitlab/-/blob/master/.gitpod.yml being executed through to completion %s\n" "$((10*(($(date +%s)-${START_UNIXTIME}))/60))e-1" "$([[ -f "$PREBUILD_LOG" ]] && echo "With Prebuilds")"
)
ports:
- port: 2222 # sshd
onOpen: ignore
- port: 3000 # rails-web
onOpen: notify
- port: 3005 # gitlab-docs
onOpen: notify
- port: 3010 # gitlab-pages
onOpen: ignore
- port: 3808 # webpack
onOpen: ignore
- port: 5000 # auto_devops
onOpen: ignore
- port: 5778 # jaeger
onOpen: ignore
- port: 9000 # object_store / minio
onOpen: ignore
- port: 9122 # gitlab-shell
onOpen: ignore
vscode:
extensions:
- rebornix.ruby@0.28.1
- wingrunr21.vscode-ruby@0.28.0
- karunamurti.haml@1.4.1
- octref.vetur@0.36.0
- dbaeumer.vscode-eslint@2.2.6
- GitLab.gitlab-workflow@3.56.0
- DavidAnson.vscode-markdownlint@0.47.0