init
This commit is contained in:
115
mdmds/bamboo-specs/bamboo.yaml
Normal file
115
mdmds/bamboo-specs/bamboo.yaml
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
version: 2
|
||||
plan:
|
||||
project-key: EHR
|
||||
key: MFR
|
||||
name: MDMDS FRONTEND CI
|
||||
stages:
|
||||
- app-ci:
|
||||
manual: false
|
||||
final: false
|
||||
jobs:
|
||||
- helmchart-ci
|
||||
- docker-ci
|
||||
helmchart-ci:
|
||||
key: HEL
|
||||
docker:
|
||||
image: jie3324/azure-cli
|
||||
volumes:
|
||||
${bamboo.working.directory}: ${bamboo.working.directory}
|
||||
${bamboo.tmp.directory}: ${bamboo.tmp.directory}
|
||||
docker-run-arguments: []
|
||||
tasks:
|
||||
- checkout:
|
||||
force-clean-build: 'false'
|
||||
- script:
|
||||
interpreter: SHELL
|
||||
scripts:
|
||||
- |-
|
||||
image_name=${bamboo.appname}
|
||||
image_tag=0.${bamboo.buildNumber}
|
||||
ls -l
|
||||
|
||||
az version
|
||||
az cloud set -n AzureChinaCloud
|
||||
az login --service-principal -u ${bamboo.client_id} -p ${bamboo.client_secret} --tenant ${bamboo.tenant_id}
|
||||
|
||||
az acr helm repo add -n ${bamboo.acr_repo}
|
||||
az acr helm list -n ${bamboo.acr_repo} --query 'keys(@)' -o tsv
|
||||
|
||||
#helm package
|
||||
helm package helmcharts --version $image_tag
|
||||
ls -l
|
||||
|
||||
#helm push
|
||||
az acr helm push --name ${bamboo.acr_repo} ${image_name}-${image_tag}.tgz
|
||||
az acr helm list -n ${bamboo.acr_repo} --query 'keys(@)' -o tsv
|
||||
az acr helm list -n ${bamboo.acr_repo} --query '"'${image_name}'"[].version' -o tsv
|
||||
docker-ci:
|
||||
key: JOB1
|
||||
docker:
|
||||
image: jie3324/docker-agent-ci:npm
|
||||
volumes:
|
||||
${bamboo.working.directory}: ${bamboo.working.directory}
|
||||
${bamboo.tmp.directory}: ${bamboo.tmp.directory}
|
||||
/var/run: /var/run
|
||||
docker-run-arguments:
|
||||
- --privileged
|
||||
tasks:
|
||||
- checkout:
|
||||
force-clean-build: 'false'
|
||||
- script:
|
||||
interpreter: SHELL
|
||||
scripts:
|
||||
- |-
|
||||
image_name=${bamboo.appname}
|
||||
image_tag=0.${bamboo.buildNumber}
|
||||
|
||||
npm install
|
||||
npm run build
|
||||
|
||||
cat <<EOF > default.conf
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
access_log /var/log/nginx/host.access.log main;
|
||||
error_log /var/log/nginx/error.log error;
|
||||
|
||||
location / {
|
||||
root /html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root html;
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
cat <<EOF > Dockerfile
|
||||
FROM nginx:alpine
|
||||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
|
||||
COPY dist html
|
||||
COPY default.conf /etc/nginx/conf.d/default.conf
|
||||
EOF
|
||||
|
||||
pwd && ls -l
|
||||
|
||||
# Get acr password from keyvault
|
||||
tenant_id=${bamboo.tenant_id}
|
||||
client_id=${bamboo.client_id}
|
||||
client_secret=${bamboo.client_secret}
|
||||
jwt=`curl --location --request POST "https://login.chinacloudapi.cn/$tenant_id/oauth2/token?api-version=1.0" \
|
||||
--data-urlencode "grant_type=client_credentials" \
|
||||
--data-urlencode "resource=https://vault.azure.cn" \
|
||||
--data-urlencode "client_id=$client_id" \
|
||||
--data-urlencode "client_secret=$client_secret" |awk -F 'access_token' '{print $2}'|awk -F '"' '{print $3}'`
|
||||
acr_password=`curl -k --request GET -H "Content-type: application/json;charset=UTF-8" -H "Authorization: Bearer $jwt" -s https://${bamboo.keyvault}.vault.azure.cn/secrets/acr-passwd?api-version=7.2 |awk -F '"' '{print $4}'`
|
||||
|
||||
docker build -t ${bamboo.acr_repo}.azurecr.cn/${image_name}:${image_tag} .
|
||||
docker login ${bamboo.acr_repo}.azurecr.cn -u ${bamboo.acr_user} -p ${acr_password}
|
||||
docker push ${bamboo.acr_repo}.azurecr.cn/${image_name}:${image_tag}
|
||||
variables:
|
||||
appname: mdmds-frontend
|
||||
Reference in New Issue
Block a user