85 lines
2.3 KiB
YAML
85 lines
2.3 KiB
YAML
image: chocobozzz/peertube-ci:10
|
|
|
|
stages:
|
|
- clients
|
|
- docker-nightly
|
|
|
|
cache:
|
|
key: yarn
|
|
paths:
|
|
- .yarn-cache
|
|
- cached-fixtures
|
|
|
|
build-openapi-clients:
|
|
stage: clients
|
|
only:
|
|
refs:
|
|
- master
|
|
- schedules
|
|
changes:
|
|
- support/doc/api/openapi.yaml
|
|
script:
|
|
- apt-get update -qq
|
|
- apt-get -yqqq install openjdk-8-jre
|
|
- yarn install --pure-lockfile
|
|
- scripts/openapi-peertube-version.sh
|
|
- scripts/openapi-clients.sh
|
|
|
|
build-nightly:
|
|
stage: docker-nightly
|
|
only:
|
|
- schedules
|
|
script:
|
|
- yarn install --pure-lockfile --cache-folder .yarn-cache
|
|
- npm run nightly
|
|
- mkdir "${HOME}/.ssh"
|
|
- chmod 700 "${HOME}/.ssh"
|
|
- if [ ! -z ${DEPLOYEMENT_KNOWN_HOSTS+x} ]; then echo -e "${DEPLOYEMENT_KNOWN_HOSTS}" > ${HOME}/.ssh/known_hosts; fi
|
|
- eval `ssh-agent -s`
|
|
- if [ ! -z ${DEPLOYEMENT_KEY+x} ]; then ssh-add <(echo "${DEPLOYEMENT_KEY}"); fi
|
|
- if [ ! -z ${DEPLOYEMENT_KEY+x} ]; then scp ./peertube-nightly-* ${DEPLOYEMENT_USER}@${DEPLOYEMENT_HOST}:../../web/nightly; fi
|
|
|
|
.docker: &docker
|
|
stage: docker-nightly
|
|
cache: {}
|
|
image:
|
|
name: gcr.io/kaniko-project/executor:debug
|
|
entrypoint: [""]
|
|
before_script:
|
|
- mkdir -p /kaniko/.docker
|
|
- echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$CI_REGISTRY_AUTH\",\"email\":\"$CI_REGISTRY_EMAIL\"}}}" > /kaniko/.docker/config.json
|
|
script:
|
|
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $DOCKERFILE --destination $DOCKER_IMAGE_NAME
|
|
|
|
build-docker-develop:
|
|
<<: *docker
|
|
only:
|
|
- schedules
|
|
variables:
|
|
DOCKER_IMAGE_NAME: chocobozzz/peertube:develop-buster
|
|
DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster
|
|
|
|
build-docker-webserver:
|
|
<<: *docker
|
|
only:
|
|
- schedules
|
|
variables:
|
|
DOCKER_IMAGE_NAME: chocobozzz/peertube-webserver
|
|
DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.nginx
|
|
|
|
build-docker-tag:
|
|
<<: *docker
|
|
only:
|
|
- tags
|
|
variables:
|
|
DOCKER_IMAGE_NAME: chocobozzz/peertube:$CI_COMMIT_TAG-buster
|
|
DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster
|
|
|
|
build-docker-master:
|
|
<<: *docker
|
|
only:
|
|
- master
|
|
variables:
|
|
DOCKER_IMAGE_NAME: chocobozzz/peertube:production-buster
|
|
DOCKERFILE: $CI_PROJECT_DIR/support/docker/production/Dockerfile.buster
|