--- 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 < 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 < 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