diff --git a/.circleci/config.yml b/.circleci/config.yml index c23986cee..c46574079 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,190 +1,101 @@ version: 2 +defaults: &defaults + docker: + - image: openjdk:7 + +install_dependency: &install_dependency + name: Installation of build dependencies. + command: | + sed -i '/jessie-updates/d' /etc/apt/sources.list + apt update + apt install -y openssl ant git zip jq + mkdir ~/awscli + cd ~/awscli + curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" + unzip awscli-bundle.zip + ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws + cd /usr/share/ant/lib + wget https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/1.7.8/groovy-all-1.7.8.jar + wget https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar + cd ~ + wget http://downloads.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip + unzip jboss-4.2.3.GA-jdk6.zip + cd project + +install_deploysuite: &install_deploysuite + name: Installation of install_deploysuite. + command: | + git clone --branch v1.3 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript + cp ./../buildscript/master_deploy.sh . + cp ./../buildscript/buildenv.sh . + cp ./../buildscript/awsconfiguration.sh . + +build_steps: &build_steps + # Initialization. + - run: *install_dependency + - checkout + - run: *install_deploysuite + - run: + name: Installation of build dependencies. + command: | + ./buildproperties.sh -e $BUILD_ENV -k directapp + ant package-direct package-static-direct + - store_artifacts: + path: ./direct.jar + destination: direct.jar + - store_artifacts: + path: ./direct-static-all.jar + destination: direct-static-all.jar + - run: + name: Build Pacakge + command: ./build-package.sh $BUILD_ENV + - run: + name: "Deployment direct app and direct web" + command: | + #cp ./../buildscript/master_deploy.sh . + ./awsconfiguration.sh $BUILD_ENV + source awsenvconf + cp -f buildvar-app.conf buildvar.conf + ./deploy.sh $BUILD_ENV $VER + echo "Deployment direct web" + cp -f buildvar-web.conf buildvar.conf + ./deploy.sh $BUILD_ENV $VER + #cp ./../buildscript/master_deploy.sh . jobs: # Build & Deploy against development backend "build-dev": - docker: - - image: openjdk:7 - steps: - # Initialization. - - run: - name: Installation of build dependencies. - command: | - sed -i '/jessie-updates/d' /etc/apt/sources.list - apt update - apt install -y openssl ant git zip jq - mkdir ~/awscli - cd ~/awscli - curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" - unzip awscli-bundle.zip - ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws - cd /usr/share/ant/lib - wget https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/1.7.8/groovy-all-1.7.8.jar - wget https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar - cd ~ - wget http://downloads.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip - unzip jboss-4.2.3.GA-jdk6.zip - cd project - - checkout - - run: - name: Installation of build dependencies. - command: | - javac -version - ant -version - aws --version - ./buildproperties.sh -e DEV -k directapp - ant package-direct package-static-direct - - store_artifacts: - path: ./direct.jar - destination: direct.jar - - store_artifacts: - path: ./direct-static-all.jar - destination: direct-static-all.jar - - run: - name: Build Pacakge - command: ./build-package.sh DEV - - run: - name: Deployment direct app. - command: | - #cp ./../buildscript/master_deploy.sh . - cp -f buildvar-app.conf buildvar.conf - ./deploy.sh DEV $VER - - run: - name: Deployment direct web - command: | - cp -f buildvar-web.conf buildvar.conf - ./deploy.sh DEV $VER - #cp ./../buildscript/master_deploy.sh . + <<: *defaults + environment: + BUILD_ENV: "DEV" + steps: *build_steps "build-qa": - docker: - - image: openjdk:7 - steps: - # Initialization. - - run: - name: Installation of build dependencies. - command: | - sed -i '/jessie-updates/d' /etc/apt/sources.list - apt update - apt install -y openssl ant git zip jq - mkdir ~/awscli - cd ~/awscli - curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" - unzip awscli-bundle.zip - ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws - cd /usr/share/ant/lib - wget https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/1.7.8/groovy-all-1.7.8.jar - wget https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar - cd ~ - wget http://downloads.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip - unzip jboss-4.2.3.GA-jdk6.zip - cd project - - run: - name: checking out build repo - command: | - git clone --branch master https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript - #git clone --branch master git@github.com:appirio-tech/ops.git ../direct-config-update - #git clone --branch master https://$GITUSER:$GITPASSWD@github.com/appirio-tech/ops ../direct-config-update - - checkout - - run: - name: copying configuration file - command: | - cp ./../buildscript/direct/conf/qa/token.properties.enc . - openssl enc -aes-256-cbc -d -in token.properties.enc -out token.properties -k $SECPASSWD - - run: - name: Installation of build dependencies. - command: | - javac -version - ant -version - aws --version - ant package-direct package-static-direct - - store_artifacts: - path: ./direct.jar - destination: direct.jar - - store_artifacts: - path: ./direct-static-all.jar - destination: direct-static-all.jar - - run: - name: Build Pacakge - command: ./build-package.sh QA - - run: - name: Deployment direct app. - command: | - #cp ./../buildscript/master_deploy.sh . - cp -f buildvar-app.conf buildvar.conf - ./deploy.sh QA $VER - - run: - name: Deployment direct web - command: | - cp -f buildvar-web.conf buildvar.conf - ./deploy.sh QA $VER - #cp ./../buildscript/master_deploy.sh . + <<: *defaults + environment: + BUILD_ENV: "QA" + steps: *build_steps "build-prod": - docker: - - image: openjdk:7 - steps: - # Initialization. - - run: - name: Installation of build dependencies. - command: | - sed -i '/jessie-updates/d' /etc/apt/sources.list - apt update - apt install -y openssl ant git zip jq - mkdir ~/awscli - cd ~/awscli - curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" - unzip awscli-bundle.zip - ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws - cd /usr/share/ant/lib - wget https://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/1.7.8/groovy-all-1.7.8.jar - wget https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar - cd ~ - wget http://downloads.sourceforge.net/project/jboss/JBoss/JBoss-4.2.3.GA/jboss-4.2.3.GA-jdk6.zip - unzip jboss-4.2.3.GA-jdk6.zip - cd project - - checkout - - run: - name: Installation of build dependencies. - command: | - javac -version - ant -version - aws --version - ./buildproperties.sh -e PROD -k directapp - ant package-direct package-static-direct - - store_artifacts: - path: ./direct.jar - destination: direct.jar - - store_artifacts: - path: ./direct-static-all.jar - destination: direct-static-all.jar - - run: - name: Build Pacakge - command: ./build-package.sh PROD - - run: - name: Deployment direct app. - command: | - #cp ./../buildscript/master_deploy.sh . - cp -f buildvar-app.conf buildvar.conf - ./deploy.sh PROD $VER - - run: - name: Deployment direct web - command: | - cp -f buildvar-web.conf buildvar.conf - ./deploy.sh PROD $VER - #cp ./../buildscript/master_deploy.sh . + <<: *defaults + environment: + BUILD_ENV: "PROD" + steps: *build_steps workflows: version: 2 build: jobs: - build-dev: + context : org-global filters: branches: - only: [dev, dev-circleci] + only: [dev, dev-sts] - build-qa: + context : org-global filters: branches: only: qa - build-prod: + context : org-global filters: branches: only: master diff --git a/deploy.sh b/deploy.sh index 32f998265..b69db39c7 100755 --- a/deploy.sh +++ b/deploy.sh @@ -24,10 +24,10 @@ source $BUILD_VARIABLE_FILE_NAME # openssl enc -aes-256-cbc -d -in $SECRET_FILE_NAME.enc -out $SECRET_FILE_NAME -k $SECPASSWD # source $SECRET_FILE_NAME -AWS_REGION=$(eval "echo \$${ENV}_AWS_REGION") -AWS_ACCESS_KEY_ID=$(eval "echo \$${ENV}_AWS_ACCESS_KEY_ID") -AWS_SECRET_ACCESS_KEY=$(eval "echo \$${ENV}_AWS_SECRET_ACCESS_KEY") -AWS_ACCOUNT_ID=$(eval "echo \$${ENV}_AWS_ACCOUNT_ID") +# AWS_REGION=$(eval "echo \$${ENV}_AWS_REGION") +# AWS_ACCESS_KEY_ID=$(eval "echo \$${ENV}_AWS_ACCESS_KEY_ID") +# AWS_SECRET_ACCESS_KEY=$(eval "echo \$${ENV}_AWS_SECRET_ACCESS_KEY") +# AWS_ACCOUNT_ID=$(eval "echo \$${ENV}_AWS_ACCOUNT_ID") AWS_CD_APPNAME=$(eval "echo \$${ENV}_AWS_CD_APPNAME") AWS_CD_DG_NAME=$(eval "echo \$${ENV}_AWS_CD_DG_NAME") AWS_CD_DG_CONFIGURATION=$(eval "echo \$${ENV}_AWS_CD_DG_CONFIGURATION") @@ -60,14 +60,14 @@ track_error() } #Function for aws login -configure_aws_cli() { - aws --version - aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID - aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY - aws configure set default.region $AWS_REGION - aws configure set default.output json - log "Configured AWS CLI." -} +# configure_aws_cli() { +# aws --version +# aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID +# aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY +# aws configure set default.region $AWS_REGION +# aws configure set default.output json +# log "Configured AWS CLI." +# } #uploading to S3 bucket @@ -135,7 +135,7 @@ cd_deploy_status() fi } -configure_aws_cli +# configure_aws_cli upload_cd_pakcage update_cd_app_revision if [ "$DEPLOY" = "1" ] ;