-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbitbucket-pipelines.yml
107 lines (102 loc) · 4.21 KB
/
bitbucket-pipelines.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
image: php:8.0-alpine
definitions:
caches:
composer: backend/vendor
npm-cache: frontend/node_modules
typo3: typo3/vendor
options:
max-time: 10
pipelines:
branches:
develop:
- parallel:
- step:
name: Install frontend packages and build frontend
image: node:16.15.1
script:
- cd frontend
- touch .env
- echo BACKEND_URL=$API_STAGING_URL >> .env && echo IAM_URL=$IDP_STAGING_URL >> .env && echo BASE_URL=$STAGING_URL >> .env && echo USER_CENTRICS_ID=$USER_CENTRICS_ID >> .env
- npm ci && npm run build
artifacts:
- frontend/node_modules/**
- frontend/.nuxt/**
- frontend/static/sw.js
- step:
name: Setup API-Platform Backend
image: composer:2.3.7
script:
- cd backend && composer validate
- composer install -n --prefer-dist --no-ansi --no-progress
caches:
- composer
artifacts:
- backend/vendor/**
- backend/public/bundles/**
- step:
name: Setup TYPO3
image: composer:2.3.7
script:
- cd typo3 && composer validate
- composer install -n --prefer-dist --no-ansi --no-progress
caches:
- typo3
artifacts:
- typo3/vendor/**
- typo3/public/typo3/**
- typo3/public/typo3conf/ext/**
- typo3/public/index.php
- step:
name: Deployment
deployment: staging
image: rubygem/capistrano:3.7.2
script:
- gem install capistrano-composer
- gem install capistrano-scm-copy
- cap staging deploy
master:
- parallel:
- step:
name: Install frontend packages and build frontend
image: node:16.15.1
script:
- cd frontend
- touch .env
- echo BACKEND_URL=$API_PRODUCTION_URL >> .env && echo IAM_URL=$IDP_PRODUCTION_URL >> .env && echo BASE_URL=$PRODUCTION_URL >> .env && echo USER_CENTRICS_ID=$USER_CENTRICS_ID >> .env
- npm ci && npm run build
artifacts:
- frontend/node_modules/**
- frontend/.nuxt/**
- frontend/static/sw.js
- step:
name: Setup API-Platform Backend
image: composer:2.3.7
script:
- cd backend && composer validate
- composer install -n --prefer-dist --no-ansi --no-progress
caches:
- composer
artifacts:
- backend/vendor/**
- backend/public/bundles/**
- step:
name: Setup TYPO3
image: composer:2.3.7
script:
- cd typo3 && composer validate
- composer install -n --prefer-dist --no-ansi --no-progress
caches:
- typo3
artifacts:
- typo3/vendor/**
- typo3/public/typo3/**
- typo3/public/typo3conf/ext/**
- typo3/public/index.php
- step:
name: Deployment
deployment: production
image: rubygem/capistrano:3.7.2
script:
- gem install capistrano-composer
- gem install capistrano-scm-copy
- cap production deploy