[TASK] Initial commit
This commit is contained in:
commit
145690f8ba
2
Makefile
Normal file
2
Makefile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
set_pipeline:
|
||||||
|
fly -t datentonne sp -p presentator -c pipeline.yml
|
177
pipeline.yml
Normal file
177
pipeline.yml
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
---
|
||||||
|
resource_types:
|
||||||
|
- name: aptly-resource
|
||||||
|
type: docker-image
|
||||||
|
source:
|
||||||
|
repository: docker.datentonne.net/concourse/aptly-resource
|
||||||
|
tag: latest
|
||||||
|
resources:
|
||||||
|
- name: presentator
|
||||||
|
type: github-release
|
||||||
|
source:
|
||||||
|
owner: presentator
|
||||||
|
repository: presentator
|
||||||
|
access_token: ((github.access_token))
|
||||||
|
- name: presentator-docker
|
||||||
|
type: git
|
||||||
|
source:
|
||||||
|
uri: https://github.com/presentator/presentator-docker.git
|
||||||
|
- name: presentator-deb
|
||||||
|
type: aptly-resource
|
||||||
|
source:
|
||||||
|
api_uri: https://apt-api.datentonne.net/
|
||||||
|
repo_uri: https://apt.datentonne.net/
|
||||||
|
repo: datentonne
|
||||||
|
distribution: debian
|
||||||
|
component: main
|
||||||
|
architecture: amd64
|
||||||
|
package: presentator-docker
|
||||||
|
username: ((aptly.username))
|
||||||
|
password: ((aptly.password))
|
||||||
|
timeout: 1801
|
||||||
|
keep_versions: 5
|
||||||
|
jobs:
|
||||||
|
- name: build
|
||||||
|
plan:
|
||||||
|
- get: presentator
|
||||||
|
trigger: true
|
||||||
|
params:
|
||||||
|
globs:
|
||||||
|
- dummy-*-linux-amd64
|
||||||
|
- get: presentator-docker
|
||||||
|
trigger: true
|
||||||
|
params:
|
||||||
|
globs:
|
||||||
|
- dummy-*-linux-amd64
|
||||||
|
- task: build
|
||||||
|
config:
|
||||||
|
platform: linux
|
||||||
|
image_resource:
|
||||||
|
type: registry-image
|
||||||
|
source: { repository: ruby }
|
||||||
|
inputs:
|
||||||
|
- name: presentator
|
||||||
|
- name: presentator-docker
|
||||||
|
outputs:
|
||||||
|
- name: deb
|
||||||
|
run:
|
||||||
|
path: /bin/bash
|
||||||
|
args:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
export VERSION="$(cat presentator/version)"
|
||||||
|
export VERSION_OUT="$(cat presentator/version)-$(date +%s)"
|
||||||
|
gem install fpm
|
||||||
|
cd presentator
|
||||||
|
mkdir -p etc/presentator
|
||||||
|
mkdir -p opt/presentator
|
||||||
|
cp ../presentator-docker/docker-compose-example/php.ini opt/presentator/
|
||||||
|
cp ../presentator-docker/docker-compose-example/vhosts.conf opt/presentator/
|
||||||
|
cp ../presentator-docker/docker-compose-example/spa.json opt/presentator/
|
||||||
|
cp ../presentator-docker/docker-compose-example/base-local.php opt/presentator/
|
||||||
|
cp ../presentator-docker/docker-compose-example/base-local.php opt/presentator/
|
||||||
|
cp ../presentator-docker/docker-compose-example/init.sql opt/presentator/
|
||||||
|
mkdir opt/presentator/db
|
||||||
|
mkdir opt/presentator/storage
|
||||||
|
cat <<- EOF > presentator.service
|
||||||
|
[Unit]
|
||||||
|
Description=presentator service with docker compose
|
||||||
|
Requires=docker.service
|
||||||
|
After=docker.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=true
|
||||||
|
WorkingDirectory=/opt/presentator
|
||||||
|
ExecStart=docker compose up -d --remove-orphans
|
||||||
|
ExecStop=docker compose down
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
EOF
|
||||||
|
cat <<- EOF > opt/presentator/domain.php
|
||||||
|
<?php
|
||||||
|
return 'example.com';
|
||||||
|
EOF
|
||||||
|
cat <<- EOF > opt/presentator/params-local.php
|
||||||
|
<?php
|
||||||
|
\$domain = require(__DIR__ . '/domain.php');
|
||||||
|
return [
|
||||||
|
'baseStorageUrl' => 'https://' . \$domain . '/storage',
|
||||||
|
'appUrl' => 'https://' . \$domain . '/#/',
|
||||||
|
'authClientRedirectUri' => 'https://' . \$domain . '/#/auth-callback',
|
||||||
|
'activationUrl' => 'https://' . \$domain . '/#/activate/{token}',
|
||||||
|
'passwordResetUrl' => 'https://' . \$domain . '/#/reset-password/{token}',
|
||||||
|
'emailChangeUrl' => 'https://' . \$domain . '/#/change-email/{token}',
|
||||||
|
'projectLinkUrl' => 'https://' . \$domain . '/#/{slug}',
|
||||||
|
'projectLinkCommentViewUrl' => 'https://' . \$domain . '/#/{slug}/prototypes/{prototypeId}/screens/{screenId}?mode=comments&commentId={commentId}',
|
||||||
|
'commentViewUrl' => 'https://' . \$domain . '/#/projects/{projectId}/prototypes/{prototypeId}/screens/{screenId}?mode=comments&commentId={commentId}',
|
||||||
|
'noreplyEmail' => 'noreply@example.com',
|
||||||
|
'supportEmail' => 'support@example.com',
|
||||||
|
];
|
||||||
|
EOF
|
||||||
|
cat <<- EOF > after-install
|
||||||
|
EOF
|
||||||
|
chmod +x after-install
|
||||||
|
mkdir -p opt
|
||||||
|
cat <<- EOF > opt/presentator/docker-compose.yml
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
nginx-proxy:
|
||||||
|
image: jwilder/nginx-proxy
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 9002:80
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||||
|
mariadb:
|
||||||
|
image: mariadb:10
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 3306:3306
|
||||||
|
volumes:
|
||||||
|
- ./db:/var/lib/mysql
|
||||||
|
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
|
||||||
|
environment:
|
||||||
|
- MYSQL_ROOT_PASSWORD=presentator
|
||||||
|
- MYSQL_USER=presentator
|
||||||
|
- MYSQL_PASSWORD=presentator
|
||||||
|
presentator:
|
||||||
|
image: ganigeorgiev/presentator:${VERSION}
|
||||||
|
depends_on:
|
||||||
|
- mariadb
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- VIRTUAL_HOST=\${DOMAIN}
|
||||||
|
volumes:
|
||||||
|
- ./php.ini:/usr/local/etc/php/php.ini
|
||||||
|
- ./vhosts.conf:/etc/apache2/sites-enabled/000-default.conf
|
||||||
|
- ./base-local.php:/var/www/html/config/base-local.php
|
||||||
|
- ./domain.php:/var/www/html/config/domain.php
|
||||||
|
- ./params-local.php:/var/www/html/config/params-local.php
|
||||||
|
- ./spa.json:/var/www/html/config/spa.json
|
||||||
|
- ./storage:/var/www/html/web/storage
|
||||||
|
EOF
|
||||||
|
fpm \
|
||||||
|
--verbose \
|
||||||
|
-f \
|
||||||
|
-n presentator-docker \
|
||||||
|
-s dir \
|
||||||
|
-t deb \
|
||||||
|
-v $VERSION_OUT \
|
||||||
|
--after-install after-install \
|
||||||
|
--config-files opt/presentator/docker-compose.yml \
|
||||||
|
--config-files opt/presentator/domain.php \
|
||||||
|
--config-files opt/presentator/base-local.php \
|
||||||
|
--deb-systemd presentator.service \
|
||||||
|
--deb-systemd-auto-start \
|
||||||
|
--deb-systemd-enable \
|
||||||
|
--deb-systemd-restart-after-upgrade \
|
||||||
|
opt/presentator/=/opt/presentator/
|
||||||
|
dpkg-deb -c presentator-docker_*.deb
|
||||||
|
cd ..
|
||||||
|
mv -v presentator/presentator-docker_${VERSION_OUT}_amd64.deb deb/
|
||||||
|
echo "deb/presentator-docker_${VERSION_OUT}_amd64.deb" > deb/filename
|
||||||
|
- put: presentator-deb
|
||||||
|
params:
|
||||||
|
archive_file: deb/filename
|
Loading…
x
Reference in New Issue
Block a user