Implemented gitlab plugin to openproject

This commit is contained in:
Kevin Veen-Birkenbach 2024-01-14 14:10:36 +01:00
parent e9e94ba3ed
commit ab915cdf21
7 changed files with 52 additions and 3 deletions

View File

@ -0,0 +1,14 @@
FROM openproject/community:13
# If installing a local plugin (using `path:` in the `Gemfile.plugins` above),
# you will have to copy the plugin code into the container here and use the
# path inside of the container. Say for `/app/vendor/plugins/openproject-slack`:
# COPY /path/to/my/local/openproject-slack /app/vendor/plugins/openproject-slack
COPY Gemfile.plugins /app/
# If the plugin uses any external NPM dependencies you have to install them here.
# RUN npm add npm <package-name>*
RUN bundle config unset deployment && bundle install && bundle config set deployment 'true'
RUN ./docker/prod/setup/postinstall.sh

View File

@ -0,0 +1,3 @@
group :opf_plugins do
gem "openproject-gitlab-integration", git: "openproject-gitlab_integration", branch: "master"
end

View File

@ -0,0 +1,8 @@
---
- name: rebuild docker image
command:
cmd: docker build --no-cache -t custom_openproject .
chdir: "{{docker_compose_instance_directory}}"
environment:
COMPOSE_HTTP_TIMEOUT: 600
DOCKER_CLIENT_TIMEOUT: 600

View File

@ -8,6 +8,23 @@
- name: "include tasks update-repository-with-docker-compose.yml" - name: "include tasks update-repository-with-docker-compose.yml"
include_tasks: update-repository-with-docker-compose.yml include_tasks: update-repository-with-docker-compose.yml
- name: "Transfering Gemfile.plugins to {{docker_compose_instance_directory}}"
copy:
src: Gemfile.plugins
dest: "{{docker_compose_instance_directory}}Gemfile.plugins"
notify:
- docker compose project setup
- rebuild docker image
- name: "Transfering Dockerfile to {{docker_compose_instance_directory}}"
copy:
src: Dockerfile
dest: "{{docker_compose_instance_directory}}Dockerfile"
notify:
- docker compose project setup
- rebuild docker image
- name: "create {{dummy_volume}}" - name: "create {{dummy_volume}}"
file: file:
path: "{{dummy_volume}}" path: "{{dummy_volume}}"

View File

@ -2,7 +2,7 @@ version: "3.7"
x-op-app: &app x-op-app: &app
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
image: openproject/community:${TAG:-13} image: custom_openproject
environment: environment:
OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS}" OPENPROJECT_HTTPS: "${OPENPROJECT_HTTPS}"
OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME}" OPENPROJECT_HOST__NAME: "${OPENPROJECT_HOST__NAME}"
@ -25,12 +25,14 @@ services:
cache: cache:
image: memcached image: memcached
container_name: openproject-memcached
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
proxy: proxy:
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}
image: openproject/community:${TAG:-13} image: custom_openproject
container_name: openproject-proxy
command: "./docker/prod/proxy" command: "./docker/prod/proxy"
ports: ports:
- "${PORT}:80" - "${PORT}:80"
@ -47,6 +49,7 @@ services:
web: web:
<<: *app <<: *app
command: "./docker/prod/web" command: "./docker/prod/web"
container_name: openproject-web
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
cache: cache:
@ -64,6 +67,7 @@ services:
autoheal: autoheal:
image: willfarrell/autoheal:1.2.0 image: willfarrell/autoheal:1.2.0
container_name: openproject-autoheal
volumes: volumes:
- "/var/run/docker.sock:/var/run/docker.sock" - "/var/run/docker.sock:/var/run/docker.sock"
environment: environment:
@ -74,6 +78,7 @@ services:
worker: worker:
<<: *app <<: *app
command: "./docker/prod/worker" command: "./docker/prod/worker"
container_name: openproject-worker
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
cache: cache:
@ -84,6 +89,7 @@ services:
cron: cron:
<<: *app <<: *app
command: "./docker/prod/cron" command: "./docker/prod/cron"
container_name: openproject-cron
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}
{% include 'templates/docker-container-depends-on-also-database.yml.j2' %} {% include 'templates/docker-container-depends-on-also-database.yml.j2' %}
cache: cache:
@ -94,6 +100,7 @@ services:
seeder: seeder:
<<: *app <<: *app
command: "./docker/prod/seeder" command: "./docker/prod/seeder"
container_name: openproject-seeder
restart: on-failure restart: on-failure
{% include 'templates/docker-container-networks.yml.j2' %} {% include 'templates/docker-container-networks.yml.j2' %}

View File

@ -6,7 +6,6 @@
# Please refer to our documentation to see all possible variables: # Please refer to our documentation to see all possible variables:
# https://www.openproject.org/docs/installation-and-operations/configuration/environment/ # https://www.openproject.org/docs/installation-and-operations/configuration/environment/
# #
TAG=13
OPENPROJECT_HTTPS=true OPENPROJECT_HTTPS=true
OPENPROJECT_HOST__NAME={{domain}} OPENPROJECT_HOST__NAME={{domain}}
PORT=127.0.0.1:{{http_port}} PORT=127.0.0.1:{{http_port}}

View File

@ -8,6 +8,7 @@ services:
logging: logging:
driver: journald driver: journald
image: custom_wordpress image: custom_wordpress
container_name: wordpress-application
build: build:
context: . context: .
restart: {{docker_restart_policy}} restart: {{docker_restart_policy}}