diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..2bd47b0 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,43 @@ +pipeline: + install dependencies: + image: node:19 + commands: + - yarn install --immutable + pull: true + + build: + image: node:19 + commands: + - yarn build + secrets: [ vue_app_api_url, vue_app_track_url, vue_app_track_id, vue_app_tracking ] + pull: true + + deploy: + image: cschlosser/drone-ftps + settings: + hostname: + from_secret: ftp_host + src_dir: "/dist/" + clean_dir: true + secrets: [ ftp_username, ftp_password ] + when: + branch: master + event: [ push, tag ] + status: success + + deploy (dev): + image: cschlosser/drone-ftps + settings: + hostname: + from_secret: ftp_host + src_dir: "/dist/" + clean_dir: true + secrets: + - source: ftp_username_dev + target: ftp_username + - source: ftp_password_dev + target: ftp_password + when: + branch: dev + event: [push, tag] + status: success diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index 35b8066..0000000 --- a/Jenkinsfile +++ /dev/null @@ -1,63 +0,0 @@ -pipeline { - agent any - options { - buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '5', daysToKeepStr: '', numToKeepStr: '')) - } - - environment { - FTP_HOST = credentials('csgowtf-deploy-host') - LFTP_PASSWORD = credentials('csgowtf-deploy-password') - API_HOST = credentials('csgowtf-api-host') - TRACK_HOST = credentials('csgowtf-track-host') - TRACK_ID = credentials('csgowtf-track-id') - TRACK_DOMAINS = credentials('csgowtf-track-domains') - TRACK = credentials('csgowtf-track') - } - - stages { - stage('Prepare') { - steps { - writeFile file: '.env.production', text: 'VUE_APP_API_URL=$API_HOST\nVUE_APP_TRACK_URL=$TRACK_HOST\nVUE_APP_TRACK_ID=$TRACK_ID\nVUE_APP_TRACK_DOMAINS=$TRACK_DOMAINS\nVUE_APP_TRACKING=$TRACK' - } - } - stage('Install Dependencies') { - steps { - sh 'yarn install' - } - } - stage('Build') { - steps { - sh 'yarn build' - archiveArtifacts artifacts: '**/dist/**', excludes: '**/node_modules/**' - } - } - stage('Deploy') { - when { - branch 'master' - expression { - currentBuild.result == null || currentBuild.result == 'SUCCESS' - } - } - environment { - FTP_USERNAME = credentials('csgowtf-deploy-user') - } - steps { - sh 'lftp -u $FTP_USERNAME --env-password -e \'mirror --reverse --verbose --delete --recursion=always dist/ /\' $FTP_HOST' - } - } - stage('Deploy Dev') { - when { - branch 'dev' - expression { - currentBuild.result == null || currentBuild.result == 'SUCCESS' - } - } - environment { - FTP_USERNAME = credentials('csgowtf-deploy-user-dev') - } - steps { - sh 'lftp -u $FTP_USERNAME --env-password -e \'mirror --reverse --verbose --delete --recursion=always dist/ /\' $FTP_HOST' - } - } - } -} diff --git a/README.md b/README.md index 90e425e..fdb0b96 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ [![Liberapay patrons](https://img.shields.io/liberapay/patrons/csgowtf?style=flat-square)](https://liberapay.com/CSGOWTF/) [![Website](https://img.shields.io/website?down_message=down&label=csgow.tf&style=flat-square&up_message=up&url=https%3A%2F%2Fcsgow.tf)](https://csgow.tf/) +[![status-badge](https://ci.somegit.dev/api/badges/CSGOWTF/csgowtf/status.svg?branch=master)](https://ci.somegit.dev/CSGOWTF/csgowtf) ### Statistics for CS:GO matchmaking matches.