Sebelumnya kita mulai Ada beberapa yang harus kita siapakan yaitu diantaranya:
- Install apache2 on ubuntu
- Install nodejs & angular-cli
- Generate project, setup apache2 documentRoot
- Create repository for angular project
- Create file
.gitlab-ci.yml
- Push to repository
Sama seperti proses sebelumnya, kita buat repository terlebih dahulu seperti berikut:
Setelah itu kita buat project angular dengan angular-cli
dengan perinta seperti berikut:
ng new gitlab-ci-angular
Sekarang kita buat file .gitlab-ci.yml
seperti berikut:
variables:
APP_DIR: "/var/www/html/[module-name]/[application-name]"
APP_NAME: "[application-name]"
stages:
- build
- deploy
cache:
paths:
- node_modules/
build_localhost:
stage: build
before_script:
- 'npm install'
script:
- ng build --prod --base-href /[module-name]/$APP_NAME/ --deploy-url /[module-name]/$APP_NAME/ --aot --build-optimizer --extract-css --extract-licenses --vendor-chunk=true --i18n-locale id --stats-json
artifacts:
paths:
- dist/*
only:
- /-release$/
deploy_localhost:
stage: deploy
script:
- 'rm -rf $APP_DIR/*'
- 'cp -r dist/* $APP_DIR/'
only:
- /-release$/
Sekarang kita push ke repository dan membuat tags dengan surefix -release
contohnya seperti berikut: 1.0.0-release
, 1.0.2-relase
dan seterusnya, nah sekarang kita check scriptnya apakah udah valid. jika sudah maka akan tampil seperti berikut:
Sekarang kita register gitlab-runner
di server seperti berikut:
Kemudian kita check pipelinenya seperti berikut:
Dan berikut jobs-nya:
Berikut console untuk job building
:
Berikut console untuk job deploy
:
Nah sekarang kita check webnya udah online: