forked from Chocobozzz/PeerTube
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
84 lines (75 loc) · 2.29 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
image: chocobozzz/peertube-ci:14
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