ansible improvements

This commit is contained in:
STAM 2023-07-24 20:48:49 +03:00
commit 935d274a10
Signed by: stam
GPG Key ID: 4F57E51F9C45F8CD
1254 changed files with 35246 additions and 603 deletions

View File

@ -25,15 +25,6 @@ jobs:
- name: "Build and Deploy Cassandra 3.11 Image:"
run: cd linux/ecosystem/cassandra/3.11 && pwd && make build && make deploy
- name: "Build and Deploy Testrail Image:"
run: cd linux/ecosystem/testrail/latest/main && pwd && make build && make deploy
- name: "Build and Deploy Testrail + AD Image:"
run: cd linux/ecosystem/testrail/latest/ad && pwd && make build && make deploy
- name: "Build and Deploy Testrail + LDAP Image:"
run: cd linux/ecosystem/testrail/latest/ldap && pwd && make build && make deploy
##################################################################################
build-testrail-702-images:

View File

@ -21,8 +21,14 @@ jobs:
- name: Test Make
run: make
- name: "Build and Deploy PHP Latest Image:"
run: cd linux/ecosystem/php/latest && pwd && make build && make deploy
# - name: "Build and Deploy PHP Latest Image:"
# run: cd linux/ecosystem/php/latest && pwd && make build && make deploy
- name: "Build and Deploy PHP 7.0 Image:"
run: cd linux/ecosystem/php/php7.0 && pwd && make build && make deploy
- name: "Build and Deploy PHP 7.1 Image:"
run: cd linux/ecosystem/php/php7.1 && pwd && make build && make deploy
- name: "Build and Deploy PHP 7.2 Image:"
run: cd linux/ecosystem/php/php7.2 && pwd && make build && make deploy
@ -39,6 +45,12 @@ jobs:
- name: "Build and Deploy PHP 8.1 Image:"
run: cd linux/ecosystem/php/php8.1 && pwd && make build && make deploy
- name: "Build and Deploy PHP 8.2 Image:"
run: cd linux/ecosystem/php/php8.2 && pwd && make build && make deploy
- name: "Build and Deploy PHP 8.3 Image:"
run: cd linux/ecosystem/php/php8.3 && pwd && make build && make deploy
##################################################################################
build-apache2-images:
@ -54,8 +66,14 @@ jobs:
- name: Test Make
run: make
- name: "Build and Deploy Apache 2 Latest Image:"
run: cd linux/ecosystem/apache2/latest && pwd && make build && make deploy
# - name: "Build and Deploy Apache 2 Latest Image:"
# run: cd linux/ecosystem/apache2/latest && pwd && make build && make deploy
- name: "Build and Deploy Apache 2 + PHP 7.0 Image:"
run: cd linux/ecosystem/apache2/php7.0 && pwd && make build && make deploy
- name: "Build and Deploy Apache 2 + PHP 7.1 Image:"
run: cd linux/ecosystem/apache2/php7.1 && pwd && make build && make deploy
- name: "Build and Deploy Apache 2 + PHP 7.2 Image:"
run: cd linux/ecosystem/apache2/php7.2 && pwd && make build && make deploy
@ -72,6 +90,12 @@ jobs:
- name: "Build and Deploy Apache 2 + PHP 8.1 Image:"
run: cd linux/ecosystem/apache2/php8.1 && pwd && make build && make deploy
- name: "Build and Deploy Apache 2 + PHP 8.2 Image:"
run: cd linux/ecosystem/apache2/php8.2 && pwd && make build && make deploy
- name: "Build and Deploy Apache 2 + PHP 8.3 Image:"
run: cd linux/ecosystem/apache2/php8.3 && pwd && make build && make deploy
##################################################################################
build-nginx-images:

2
.gitignore vendored
View File

@ -1,2 +1,4 @@
# Temp make file for local builds and debug
Makefile.temp
# debug ansible file
output.log

View File

@ -6,6 +6,17 @@
* added `jdk17` support.
* added `freegpt` webui by [Em1tSan/freegpt-webui-ru](https://github.com/Em1tSan/freegpt-webui-ru).
* updated `atlassian` images
* updated `testrail` images
* added reworked `php5.5` iamge.
* added reworked `php7.0` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* added reworked `php7.1` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* updated reworked `php7.2` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* updated reworked `php7.3` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* updated reworked `php7.4` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* updated reworked `php8.0` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* updated reworked `php8.1` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* added reworked `php8.2` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* added reworked `php8.3` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* `may-june`
* `base` images improved
* `nginx` images updated

195
Makefile
View File

@ -351,32 +351,213 @@ ecosystem-debian-bookworm-images:
cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18 && pwd && make build && make deploy
ecosystem-php-images:
cd `pwd`/linux/ecosystem/php/latest && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.3 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.4 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php8.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php8.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php8.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php8.3 && pwd && make build && make deploy
ecosystem-apache2-images:
cd `pwd`/linux/ecosystem/apache2/latest && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.3 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.4 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php8.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php8.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php8.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php8.3 && pwd && make build && make deploy
ecosystem-testrail-images:
cd `pwd`/linux/ecosystem/cassandra/3.11 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/latest/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/latest/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/latest/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.4.1.3669/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3727/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3731/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3735/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.1.3746/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3853/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3856/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3861/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3862/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3865/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3938/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3942/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3951/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.1.4026/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.1.4028/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.0.0.4140/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.0.1.4163/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.0.4367/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.0.4369/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.1.1020/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.1.1021/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.0.1085/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.1.1003/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.1.1005/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.2.1107/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.3.1114/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.0.1120/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.1.1004/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.1.1006/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.4.0.1284/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.4.0.1293/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.0.1298/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.1.1002/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.3.1001/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.4.1002/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.4.1007/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.5.1009/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.6.1014/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.7.1000/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.6.0.1156/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.6.1.1166/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.1.1020/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.2.1037/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.2.1043/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.0.1057/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.1.1002/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.1.1013/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1014/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1015/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1016/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1016/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1016/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8079/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8091/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8092/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7010/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7012/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7013/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.2.1002/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.3.1000/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/8.0.0.1089/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/8.0.1.1029/main && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.4.1.3669/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3727/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3731/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3735/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.1.3746/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3853/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3856/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3861/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3862/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3865/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3938/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3942/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3951/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.1.4026/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.1.4028/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.0.0.4140/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.0.1.4163/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.0.4367/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.0.4369/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.1.1020/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.1.1021/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.0.1085/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.1.1003/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.1.1005/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.2.1107/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.3.1114/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.0.1120/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.1.1004/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.1.1006/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.4.0.1284/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.4.0.1293/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.0.1298/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.1.1002/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.3.1001/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.4.1002/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.4.1007/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.5.1009/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.6.1014/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.7.1000/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.6.0.1156/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.6.1.1166/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.1.1020/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.2.1037/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.2.1043/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.0.1057/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.1.1002/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.1.1013/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1014/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1015/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1016/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8079/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8091/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8092/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7010/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7012/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7013/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.2.1002/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.3.1000/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/8.0.0.1089/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/8.0.1.1029/ad && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.4.1.3669/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3727/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3731/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.0.3735/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.5.1.3746/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3853/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3856/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3861/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3862/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.6.0.3865/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3938/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3942/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.0.3951/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.1.4026/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/5.7.1.4028/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.0.0.4140/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.0.1.4163/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.0.4367/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.0.4369/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.1.1020/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.1.1.1021/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.0.1085/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.1.1003/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.1.1005/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.2.1107/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.2.3.1114/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.0.1120/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.1.1004/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.3.1.1006/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.4.0.1284/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.4.0.1293/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.0.1298/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.1.1002/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.3.1001/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.4.1002/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.4.1007/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.5.1009/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.6.1014/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.5.7.1000/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.6.0.1156/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.6.1.1166/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.1.1020/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.2.1037/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/6.7.2.1043/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.0.1057/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.1.1002/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.1.1013/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1014/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1015/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.0.2.1016/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8079/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8091/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.4.1.8092/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7010/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7012/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.1.7013/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.2.1002/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/7.5.3.1000/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/8.0.0.1089/ldap && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/testrail/8.0.1.1029/ldap && pwd && make build && make deploy
ecosystem-torrserver-images:
cd `pwd`/linux/ecosystem/torrserver && pwd && make build && make deploy

16
bin/ansible/ansible.cfg Normal file
View File

@ -0,0 +1,16 @@
[defaults]
ansible_python_interpreter = /usr/bin/python3
inventory = inventory/hosts
any_errors_fatal = true
display_skipped_hosts = false
deprecation_warnings = false
gathering = smart
log_path = output.log
[inventory]
enable_plugins = host_list, virtualbox, yaml, constructed, script, auto, yaml, ini, toml
#[ssh_connection]
#ssh_args = -o ControlMaster=auto -o ControlPersist=600s
#control_path = %(directory)s/%%h-%%r
#pipelining = true

View File

@ -0,0 +1 @@
localhost

22
bin/ansible/playbook.yml Normal file
View File

@ -0,0 +1,22 @@
- name: Clear log file before write new stdout to it at this session
hosts: localhost
connection: local
tasks:
- name: echo -n > output.log
shell: echo -n > output.log
- name: Lets Go!
hosts: localhost
connection: local
tasks:
- name: Create directory for ansible custom facts
debug:
msg: "[ Python: {{ ansible_facts['python_version'] }}, OS: {{ ansible_facts['distribution'] }} {{ ansible_facts['distribution_version'] }} ({{ansible_architecture }}), Ansible: {{ ansible_version.full }}]"
- name: Generate Jira images
hosts: localhost
connection: local
gather_facts: false
roles:
# - atlassian.jira
- gurock.testrail

View File

@ -0,0 +1,51 @@
FROM epicmorg/debian:bullseye-jdk8
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
#configured by dockerfile / .ENV
ARG RELEASE
ARG DOWNLOAD_URL
##################################################################
# Setup
##################################################################
ENV RUN_USER daemon
ENV RUN_GROUP daemon
# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files
ENV JIRA_HOME /var/atlassian/application-data/jira
ENV JIRA_INSTALL_DIR /opt/atlassian/jira
VOLUME ["${JIRA_HOME}"]
WORKDIR $JIRA_HOME
# Expose HTTP port
EXPOSE 8080
##################################################################
# Installing
##################################################################
RUN mkdir -p ${JIRA_INSTALL_DIR} \
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \
&& sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \
&& sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/usr/bin/tini", "--"]
#COPY . /tmp

View File

@ -0,0 +1,50 @@
FROM epicmorg/debian:bullseye-jdk11
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
#configured by dockerfile / .ENV
ARG RELEASE
ARG DOWNLOAD_URL
##################################################################
# Setup
##################################################################
ENV RUN_USER daemon
ENV RUN_GROUP daemon
# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files
ENV JIRA_HOME /var/atlassian/application-data/jira
ENV JIRA_INSTALL_DIR /opt/atlassian/jira
VOLUME ["${JIRA_HOME}"]
WORKDIR $JIRA_HOME
# Expose HTTP port
EXPOSE 8080
##################################################################
# Installing
##################################################################
RUN mkdir -p ${JIRA_INSTALL_DIR} \
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \
&& sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \
&& sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/usr/bin/tini", "--"]
#COPY . /tmp

View File

@ -0,0 +1,50 @@
FROM epicmorg/debian:bullseye-jdk11
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
#configured by dockerfile / .ENV
ARG RELEASE
ARG DOWNLOAD_URL
##################################################################
# Setup
##################################################################
ENV RUN_USER daemon
ENV RUN_GROUP daemon
# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files
ENV JIRA_HOME /var/atlassian/application-data/jira
ENV JIRA_INSTALL_DIR /opt/atlassian/jira
VOLUME ["${JIRA_HOME}"]
WORKDIR $JIRA_HOME
# Expose HTTP port
EXPOSE 8080
##################################################################
# Installing
##################################################################
RUN mkdir -p ${JIRA_INSTALL_DIR} \
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \
&& sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \
&& sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/usr/bin/tini", "--"]
#COPY . /tmp

View File

@ -0,0 +1,25 @@
version: '3.9'
services:
app:
image: "epicmorg/jira:${RELEASE}"
build:
context: .
args:
RELEASE: ${RELEASE}
DOWNLOAD_URL: ${DOWNLOAD_URL}
app-jdk11:
image: "epicmorg/jira:${RELEASE}-jdk11"
build:
context: .
dockerfile: Dockerfile.jdk11
args:
RELEASE: ${RELEASE}
DOWNLOAD_URL: ${DOWNLOAD_URL}
app-jdk17:
image: "epicmorg/jira:${RELEASE}-jdk11"
build:
context: .
dockerfile: Dockerfile.jdk11
args:
RELEASE: ${RELEASE}
DOWNLOAD_URL: ${DOWNLOAD_URL}

View File

@ -0,0 +1,89 @@
#!/bin/bash
set -euo pipefail
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
export JRE_HOME="$JAVA_HOME/jre"
export JAVA_BINARY="$JRE_HOME/bin/java"
export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}')
# Setup Catalina Opts
: ${CATALINA_CONNECTOR_PROXYNAME:=}
: ${CATALINA_CONNECTOR_PROXYPORT:=}
: ${CATALINA_CONNECTOR_SCHEME:=http}
: ${CATALINA_CONNECTOR_SECURE:=false}
: ${CATALINA_OPTS:=}
: ${JAVA_OPTS:=}
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}"
export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}"
# Setup Data Center configuration
if [ ! -f "/etc/container_id" ]; then
uuidgen > /etc/container_id
fi
CONTAINER_ID=$(cat /etc/container_id)
CONTAINER_SHORT_ID=${CONTAINER_ID::8}
: ${CLUSTERED:=false}
: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}}
: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared}
: ${EHCACHE_PEER_DISCOVERY:=}
: ${EHCACHE_LISTENER_HOSTNAME:=}
: ${EHCACHE_LISTENER_PORT:=}
: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=}
: ${EHCACHE_MULTICAST_ADDRESS:=}
: ${EHCACHE_MULTICAST_PORT:=}
: ${EHCACHE_MULTICAST_TIMETOLIVE:=}
: ${EHCACHE_MULTICAST_HOSTNAME:=}
# Cleanly set/unset values in cluster.properties
function set_cluster_property {
if [ -z $2 ]; then
if [ -f "${JIRA_HOME}/cluster.properties" ]; then
sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties"
fi
return
fi
if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then
echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties"
elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then
sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties"
else
echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties"
fi
}
if [ "${CLUSTERED}" == "true" ]; then
set_cluster_property "jira.node.id" "${JIRA_NODE_ID}"
set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}"
set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}"
set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}"
set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}"
set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}"
set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}"
set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}"
set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}"
set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}"
fi
# Start Jira as the correct user
if [ "${UID}" -eq 0 ]; then
echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}"
PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}")
EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700
if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then
chmod -R 700 "${JIRA_HOME}" &&
chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}"
fi
# Now drop privileges
exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@"
else
exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@"
fi

View File

@ -0,0 +1,30 @@
- name: Read versions from file
slurp:
src: "{{ versions_file }}"
register: version_output
- name: Set version variable
set_fact:
jira_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
- name: Create directories for Jira versions
file:
path: "{{ target_directory }}/{{ item }}"
state: directory
mode: '0755'
with_items: "{{ jira_versions }}"
- name: Copy template with link to each version directory
template:
src: "template.env.j2"
dest: "{{ target_directory }}/{{ item }}/.env"
with_items: "{{ jira_versions }}"
- name: Copy all files from 'files' directory to each version directory
copy:
src: "files/"
dest: "{{ target_directory }}/{{ item }}/"
with_items: "{{ jira_versions }}"
# no_log: true

View File

@ -0,0 +1,2 @@
- name: "Generate images for Jira 9 (jdk8, jdk11, jdk17)"
import_tasks: atlassian.jira.9.yml

View File

@ -0,0 +1,2 @@
RELEASE={{ item }}
DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${RELEASE}.tar.gz

View File

@ -0,0 +1,3 @@
# Defaults
versions_file: "roles/common/files/versions/jira/9.txt"
target_directory: "/opt/tmp/jira/"

View File

@ -0,0 +1,2 @@
x.x.x.x
y.y.y.y

View File

@ -0,0 +1,54 @@
3.0.0.3015
3.0.1.3030
3.0.2.3070
3.0.3.3084
3.0.4.3098
3.1.0.3127
3.1.0.3127
3.1.1.3130
3.1.1.3130
3.1.2.3142
3.1.2.3142
3.1.3.3146
3.1.3.3146
4.0.0.3264
4.0.0.3264
4.0.1.3267
4.0.1.3267
4.0.2.3269
4.0.2.3269
4.0.3.3270
4.0.3.3270
4.0.4.3277
4.0.4.3277
4.1.0.3291
4.1.0.3291
4.1.0.3294
4.1.0.3294
4.2.0.3312
4.2.0.3312
4.2.0.3315
4.2.0.3315
4.2.1.3321
4.2.1.3321
5.0.0.3357
5.0.0.3357
5.0.0.3363
5.0.0.3363
5.0.0.3364
5.0.0.3364
5.0.0.3365
5.0.0.3365
5.0.0.3367
5.0.0.3367
5.0.1.3370
5.0.1.3371
5.0.2.3372
5.1.0.3412
5.1.0.3413
5.2.0.3451
5.2.0.3452
5.2.1.3472
5.3.0.3603
5.4.0.3659
5.4.1.3668

View File

@ -0,0 +1,10 @@
5.4.1.3669
5.5.0.3727
5.5.0.3731
5.5.0.3735
5.5.1.3746
5.6.0.3853
5.6.0.3856
5.6.0.3861
5.6.0.3862
5.6.0.3865

View File

@ -0,0 +1,21 @@
5.7.0.3938
5.7.0.3942
5.7.0.3951
5.7.1.4026
5.7.1.4028
6.0.0.4140
6.0.1.4163
6.1.0.4367
6.1.0.4369
6.1.1.1020
6.1.1.1021
6.2.0.1085
6.2.1.1003
6.2.1.1005
6.2.2.1107
6.2.3.1114
6.3.0.1120
6.3.1.1004
6.3.1.1006
6.4.0.1284
6.4.0.1293

View File

@ -0,0 +1,13 @@
6.5.0.1298
6.5.1.1002
6.5.3.1001
6.5.4.1002
6.5.4.1007
6.5.5.1009
6.5.6.1014
6.5.7.1000
6.6.0.1156
6.6.1.1166
6.7.1.1020
6.7.2.1037
6.7.2.1043

View File

@ -0,0 +1,14 @@
7.0.0.1057
7.0.1.1002
7.0.1.1013
7.0.2.1014
7.0.2.1015
7.0.2.1016
7.4.1.8079
7.4.1.8091
7.4.1.8092
7.5.1.7010
7.5.1.7012
7.5.1.7013
7.5.2.1002
7.5.3.1000

View File

@ -0,0 +1,2 @@
8.0.0.1089
8.0.1.1029

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,16 @@
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/testrail
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,16 @@
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/testrail
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,16 @@
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/testrail
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,16 @@
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/testrail
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

View File

@ -0,0 +1,18 @@
#- name: "Generate images for Testrail (PHP 5.5)"
# import_tasks: testrail.php55.yml
- name: "Generate images for Testrail (PHP 7.0)"
import_tasks: testrail.php70.yml
- name: "Generate images for Testrail (PHP 7.1)"
import_tasks: testrail.php71.yml
- name: "Generate images for Testrail (PHP 7.2)"
import_tasks: testrail.php72.yml
- name: "Generate images for Testrail (PHP 7.4)"
import_tasks: testrail.php74.yml
- name: "Generate images for Testrail (PHP 8.1)"
import_tasks: testrail.php81.yml

View File

@ -0,0 +1,100 @@
- name: Read versions from file testrail.php70.txt
slurp:
src: "roles/common/files/versions/testrail/testrail.php70.txt"
register: version_output
- name: Set version variable
set_fact:
testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
- name: Create directories for Testrail versions with php70
file:
path: "{{ target_directory }}/{{ item }}"
state: directory
mode: '0755'
with_items: "{{ testrail_versions }}"
- name: Copy all files from 'files' directory to each version directory
copy:
src: "php70/"
dest: "{{ target_directory }}/{{ item }}/"
with_items: "{{ testrail_versions }}"
# no_log: true
- name: Copy template with link to each version directory
template:
src: "template.env.php70.j2"
dest: "{{ target_directory }}/{{ item }}/main/.env"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-compose.yml to each version directory
template:
src: "php70/main/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-entrypoint.sh to each version directory
template:
src: "php70/main/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy main template Dockerfile to each version directory
template:
src: "php70/main/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy main template README.md to each version directory
template:
src: "php70/main/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/main/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-compose.yml to each version directory
template:
src: "php70/ad/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-entrypoint.sh to each version directory
template:
src: "php70/ad/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy AD template Dockerfile to each version directory
template:
src: "php70/ad/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy AD template README.md to each version directory
template:
src: "php70/ad/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ad/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-compose.yml to each version directory
template:
src: "php70/ldap/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-entrypoint.sh to each version directory
template:
src: "php70/ldap/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template Dockerfile to each version directory
template:
src: "php70/ldap/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template README.md to each version directory
template:
src: "php70/ldap/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
with_items: "{{ testrail_versions }}"

View File

@ -0,0 +1,100 @@
- name: Read versions from file testrail.php71.txt
slurp:
src: "roles/common/files/versions/testrail/testrail.php71.txt"
register: version_output
- name: Set version variable
set_fact:
testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
- name: Create directories for Testrail versions with php71
file:
path: "{{ target_directory }}/{{ item }}"
state: directory
mode: '0755'
with_items: "{{ testrail_versions }}"
- name: Copy all files from 'files' directory to each version directory
copy:
src: "php71/"
dest: "{{ target_directory }}/{{ item }}/"
with_items: "{{ testrail_versions }}"
# no_log: true
- name: Copy template with link to each version directory
template:
src: "template.env.php71.j2"
dest: "{{ target_directory }}/{{ item }}/main/.env"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-compose.yml to each version directory
template:
src: "php71/main/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-entrypoint.sh to each version directory
template:
src: "php71/main/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy main template Dockerfile to each version directory
template:
src: "php71/main/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy main template README.md to each version directory
template:
src: "php71/main/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/main/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-compose.yml to each version directory
template:
src: "php71/ad/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-entrypoint.sh to each version directory
template:
src: "php71/ad/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy AD template Dockerfile to each version directory
template:
src: "php71/ad/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy AD template README.md to each version directory
template:
src: "php71/ad/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ad/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-compose.yml to each version directory
template:
src: "php71/ldap/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-entrypoint.sh to each version directory
template:
src: "php71/ldap/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template Dockerfile to each version directory
template:
src: "php71/ldap/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template README.md to each version directory
template:
src: "php71/ldap/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
with_items: "{{ testrail_versions }}"

View File

@ -0,0 +1,100 @@
- name: Read versions from file testrail.php72.txt
slurp:
src: "roles/common/files/versions/testrail/testrail.php72.txt"
register: version_output
- name: Set version variable
set_fact:
testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
- name: Create directories for Testrail versions with php72
file:
path: "{{ target_directory }}/{{ item }}"
state: directory
mode: '0755'
with_items: "{{ testrail_versions }}"
- name: Copy all files from 'files' directory to each version directory
copy:
src: "php72/"
dest: "{{ target_directory }}/{{ item }}/"
with_items: "{{ testrail_versions }}"
# no_log: true
- name: Copy template with link to each version directory
template:
src: "template.env.php72.j2"
dest: "{{ target_directory }}/{{ item }}/main/.env"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-compose.yml to each version directory
template:
src: "php72/main/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-entrypoint.sh to each version directory
template:
src: "php72/main/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy main template Dockerfile to each version directory
template:
src: "php72/main/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy main template README.md to each version directory
template:
src: "php72/main/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/main/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-compose.yml to each version directory
template:
src: "php72/ad/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-entrypoint.sh to each version directory
template:
src: "php72/ad/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy AD template Dockerfile to each version directory
template:
src: "php72/ad/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy AD template README.md to each version directory
template:
src: "php72/ad/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ad/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-compose.yml to each version directory
template:
src: "php72/ldap/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-entrypoint.sh to each version directory
template:
src: "php72/ldap/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template Dockerfile to each version directory
template:
src: "php72/ldap/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template README.md to each version directory
template:
src: "php72/ldap/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
with_items: "{{ testrail_versions }}"

View File

@ -0,0 +1,100 @@
- name: Read versions from file testrail.php74.txt
slurp:
src: "roles/common/files/versions/testrail/testrail.php74.txt"
register: version_output
- name: Set version variable
set_fact:
testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
- name: Create directories for Testrail versions with php74
file:
path: "{{ target_directory }}/{{ item }}"
state: directory
mode: '0755'
with_items: "{{ testrail_versions }}"
- name: Copy all files from 'files' directory to each version directory
copy:
src: "php74/"
dest: "{{ target_directory }}/{{ item }}/"
with_items: "{{ testrail_versions }}"
# no_log: true
- name: Copy template with link to each version directory
template:
src: "template.env.php72.j2"
dest: "{{ target_directory }}/{{ item }}/main/.env"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-compose.yml to each version directory
template:
src: "php74/main/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-entrypoint.sh to each version directory
template:
src: "php74/main/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy main template Dockerfile to each version directory
template:
src: "php74/main/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy main template README.md to each version directory
template:
src: "php74/main/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/main/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-compose.yml to each version directory
template:
src: "php74/ad/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-entrypoint.sh to each version directory
template:
src: "php74/ad/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy AD template Dockerfile to each version directory
template:
src: "php74/ad/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy AD template README.md to each version directory
template:
src: "php74/ad/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ad/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-compose.yml to each version directory
template:
src: "php74/ldap/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-entrypoint.sh to each version directory
template:
src: "php74/ldap/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template Dockerfile to each version directory
template:
src: "php74/ldap/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template README.md to each version directory
template:
src: "php74/ldap/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
with_items: "{{ testrail_versions }}"

View File

@ -0,0 +1,100 @@
- name: Read versions from file testrail.php81.txt
slurp:
src: "roles/common/files/versions/testrail/testrail.php81.txt"
register: version_output
- name: Set version variable
set_fact:
testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
- name: Create directories for Testrail versions with php81
file:
path: "{{ target_directory }}/{{ item }}"
state: directory
mode: '0755'
with_items: "{{ testrail_versions }}"
- name: Copy all files from 'files' directory to each version directory
copy:
src: "php81/"
dest: "{{ target_directory }}/{{ item }}/"
with_items: "{{ testrail_versions }}"
# no_log: true
- name: Copy template with link to each version directory
template:
src: "template.env.php81.j2"
dest: "{{ target_directory }}/{{ item }}/main/.env"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-compose.yml to each version directory
template:
src: "php81/main/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy main template docker-entrypoint.sh to each version directory
template:
src: "php81/main/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy main template Dockerfile to each version directory
template:
src: "php81/main/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy main template README.md to each version directory
template:
src: "php81/main/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/main/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-compose.yml to each version directory
template:
src: "php81/ad/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy AD template docker-entrypoint.sh to each version directory
template:
src: "php81/ad/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy AD template Dockerfile to each version directory
template:
src: "php81/ad/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy AD template README.md to each version directory
template:
src: "php81/ad/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ad/README.md"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-compose.yml to each version directory
template:
src: "php81/ldap/docker-compose.yml.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template docker-entrypoint.sh to each version directory
template:
src: "php81/ldap/docker-entrypoint.sh.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template Dockerfile to each version directory
template:
src: "php81/ldap/Dockerfile.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
with_items: "{{ testrail_versions }}"
- name: Copy LDAP template README.md to each version directory
template:
src: "php81/ldap/README.md.j2"
dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
with_items: "{{ testrail_versions }}"

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ad
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.0` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail-ad-:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ad-{{ item }}"
build:
context: .

View File

@ -1,6 +1,8 @@
#!/bin/bash
echo "[testrail] Starting testrail service"
echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
echo "[testrail] Starting Testrail service"
##################################################################################

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ldap
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.0` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:auth-ldap-{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ldap-{{ item }}"
build:
context: .

View File

@ -1,5 +1,7 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
echo "[testrail] Starting testrail service"
#################################################################################

View File

@ -0,0 +1,69 @@
FROM epicmorg/apache2:php7.0
##############################################################################
# Testrail Install
##############################################################################
#configured by dockerfile / .ENV
ARG TESTRAIL_VERSION
ARG DOWNLOAD_URL
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
ENV TR_WWW_PATH=/var/www/testrail
ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
ENV TR_OPT_PATH=/opt/testrail
ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
ENV TR_OPTPATH="/opt/testrail/"
ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /run.sh && \
rm -rf /tmp/*
RUN echo "[testrail] Preparing folders" && \
mkdir -p ${TESTRAIL_RELEASE_DIR} && \
mkdir -p ${TR_WWW_PATH} && \
mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
echo "[testrail] Downloading and installing" && \
wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
chown -R www-data:www-data ${TR_WWW_PATH} && \
ls -las ${TR_WWW_PATH} && \
chown -R www-data:www-data ${TR_OPT_PATH} && \
ls -las ${TR_OPT_PATH}
RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
# Add image configuration and scripts
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN chmod 755 /usr/bin/docker-entrypoint.sh
#Final config
WORKDIR /var/www/testrail
EXPOSE 80 443
ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
CMD ["docker-entrypoint.sh"]

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.0` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,9 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:{{ item }}"
build:
context: .
args:
RELEASE: ${TESTRAIL_VERSION}
DOWNLOAD_URL: ${DOWNLOAD_URL}

View File

@ -1,5 +1,7 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}}"
echo "[testrail] Starting testrail service"
#################################################################################

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ad
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.1` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail-ad-:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ad-{{ item }}"
build:
context: .

View File

@ -0,0 +1,68 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
echo "[testrail] Starting Testrail service"
##################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Unzipping testrail Active Directory auth plugin"
unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ldap
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.1` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:auth-ldap-{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ldap-{{ item }}"
build:
context: .

View File

@ -0,0 +1,68 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
echo "[testrail] Starting testrail service"
#################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Unzipping testrail LDAP auth plugin"
unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,69 @@
FROM epicmorg/apache2:php7.1
##############################################################################
# Testrail Install
##############################################################################
#configured by dockerfile / .ENV
ARG TESTRAIL_VERSION
ARG DOWNLOAD_URL
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
ENV TR_WWW_PATH=/var/www/testrail
ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
ENV TR_OPT_PATH=/opt/testrail
ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
ENV TR_OPTPATH="/opt/testrail/"
ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /run.sh && \
rm -rf /tmp/*
RUN echo "[testrail] Preparing folders" && \
mkdir -p ${TESTRAIL_RELEASE_DIR} && \
mkdir -p ${TR_WWW_PATH} && \
mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
echo "[testrail] Downloading and installing" && \
wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
chown -R www-data:www-data ${TR_WWW_PATH} && \
ls -las ${TR_WWW_PATH} && \
chown -R www-data:www-data ${TR_OPT_PATH} && \
ls -las ${TR_OPT_PATH}
RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
# Add image configuration and scripts
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN chmod 755 /usr/bin/docker-entrypoint.sh
#Final config
WORKDIR /var/www/testrail
EXPOSE 80 443
ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
CMD ["docker-entrypoint.sh"]

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.1` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,9 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:{{ item }}"
build:
context: .
args:
RELEASE: ${TESTRAIL_VERSION}
DOWNLOAD_URL: ${DOWNLOAD_URL}

View File

@ -0,0 +1,67 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}}"
echo "[testrail] Starting testrail service"
#################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Testrail extracted"
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
chown -R www-data:www-data ${TR_CONFIGPATH}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ad
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.2` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail-ad-:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ad-{{ item }}"
build:
context: .

View File

@ -0,0 +1,68 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
echo "[testrail] Starting Testrail service"
##################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Unzipping testrail Active Directory auth plugin"
unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ldap
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.2` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:auth-ldap-{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ldap-{{ item }}"
build:
context: .

View File

@ -0,0 +1,68 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
echo "[testrail] Starting testrail service"
#################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Unzipping testrail LDAP auth plugin"
unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,69 @@
FROM epicmorg/apache2:php7.2
##############################################################################
# Testrail Install
##############################################################################
#configured by dockerfile / .ENV
ARG TESTRAIL_VERSION
ARG DOWNLOAD_URL
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
ENV TR_WWW_PATH=/var/www/testrail
ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
ENV TR_OPT_PATH=/opt/testrail
ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
ENV TR_OPTPATH="/opt/testrail/"
ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /run.sh && \
rm -rf /tmp/*
RUN echo "[testrail] Preparing folders" && \
mkdir -p ${TESTRAIL_RELEASE_DIR} && \
mkdir -p ${TR_WWW_PATH} && \
mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
echo "[testrail] Downloading and installing" && \
wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
chown -R www-data:www-data ${TR_WWW_PATH} && \
ls -las ${TR_WWW_PATH} && \
chown -R www-data:www-data ${TR_OPT_PATH} && \
ls -las ${TR_OPT_PATH}
RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
# Add image configuration and scripts
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN chmod 755 /usr/bin/docker-entrypoint.sh
#Final config
WORKDIR /var/www/testrail
EXPOSE 80 443
ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
CMD ["docker-entrypoint.sh"]

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.2` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,9 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:{{ item }}"
build:
context: .
args:
RELEASE: ${TESTRAIL_VERSION}
DOWNLOAD_URL: ${DOWNLOAD_URL}

View File

@ -0,0 +1,67 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}}"
echo "[testrail] Starting testrail service"
#################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Testrail extracted"
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
chown -R www-data:www-data ${TR_CONFIGPATH}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ad
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.4` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail-ad-:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ad-{{ item }}"
build:
context: .

View File

@ -0,0 +1,68 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
echo "[testrail] Starting Testrail service"
##################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Unzipping testrail Active Directory auth plugin"
unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ldap
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.4` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:auth-ldap-{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:auth-ldap-{{ item }}"
build:
context: .

View File

@ -0,0 +1,68 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
echo "[testrail] Starting testrail service"
#################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Unzipping testrail LDAP auth plugin"
unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,69 @@
FROM epicmorg/apache2:php7.4
##############################################################################
# Testrail Install
##############################################################################
#configured by dockerfile / .ENV
ARG TESTRAIL_VERSION
ARG DOWNLOAD_URL
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
ENV TR_WWW_PATH=/var/www/testrail
ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
ENV TR_OPT_PATH=/opt/testrail
ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
ENV TR_OPTPATH="/opt/testrail/"
ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /run.sh && \
rm -rf /tmp/*
RUN echo "[testrail] Preparing folders" && \
mkdir -p ${TESTRAIL_RELEASE_DIR} && \
mkdir -p ${TR_WWW_PATH} && \
mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
echo "[testrail] Downloading and installing" && \
wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
chown -R www-data:www-data ${TR_WWW_PATH} && \
ls -las ${TR_WWW_PATH} && \
chown -R www-data:www-data ${TR_OPT_PATH} && \
ls -las ${TR_OPT_PATH}
RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
# Add image configuration and scripts
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN chmod 755 /usr/bin/docker-entrypoint.sh
#Final config
WORKDIR /var/www/testrail
EXPOSE 80 443
ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
CMD ["docker-entrypoint.sh"]

View File

@ -0,0 +1,36 @@
## Testrail
* Based on `websites:php7.4` of our ecosystem.
# Compose example
```yml
version: '3.7'
services:
testrail:
image: epicmorg/testrail:{{ item }}
# depends_on:
# - mysql
# - memcached
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime
- /etc/timezone:/etc/timezone
# - /etc/letsencrypt:/etc/letsencrypt
- www:/var/www
- apache2:/etc/apache2
- php:/etc/php
restart: unless-stopped
# extra_hosts:
# - "example.com:192.168.0.11"
tmpfs:
- /tmp
- /var/lib/php/sessions
volumes:
www:
external: true
apache2:
external: true
php:
external: true
```

View File

@ -0,0 +1,9 @@
version: '3.9'
services:
app:
image: "epicmorg/testrail:{{ item }}"
build:
context: .
args:
RELEASE: ${TESTRAIL_VERSION}
DOWNLOAD_URL: ${DOWNLOAD_URL}

View File

@ -0,0 +1,67 @@
#!/bin/bash
echo "[testrail] Welcome to Testrail {{item}}"
echo "[testrail] Starting testrail service"
#################################################################################
function createOptDirectory {
if [ ! -d $1 ]
then
echo "[testrail] Creating " $1
mkdir -p $1
fi
chown -R www-data:www-data $1
}
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
echo "[testrail] Unzipping testrail service"
unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
echo "[testrail] Testrail extracted"
createOptDirectory ${TR_DEFAULT_LOG_DIR}
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
chown -R www-data:www-data ${TR_CONFIG_DIR}
chown -R www-data:www-data ${TR_CONFIGPATH}
#################################################################################
echo "[testrail] Waiting for background task file"
while [ ! -f /var/www/testrail/task.php ]
do
sleep 2
done
echo "[testrail] Starting background task"
while /bin/true; do
php /var/www/testrail/task.php || true
sleep ${TR_DEFAULT_TASK_EXECUTION}
done &
echo "[testrail] Background task stoped"
#################################################################################
if [[ -z "${FIX_WWW_DATA}" ]]; then
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
elif [ "${FIX_WWW_DATA}" == "false" ]; then
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
else
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
fi
echo "[apache2] Starting up"
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND

View File

@ -0,0 +1,13 @@
FROM epicmorg/testrail:{{ item }}
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ad
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
RUN rm -rfv /usr/bin/docker-entrypoint.sh
COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}

Some files were not shown because too many files have changed in this diff Show More