Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
L
LakeDropsDrupalDev
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Docker
LakeDropsDrupalDev
Commits
8ffd6908
Commit
8ffd6908
authored
1 year ago
by
jurgenhaas
Browse files
Options
Downloads
Plain Diff
Merge branch 'feature/ci48' into develop
parents
a0668ebf
4e71bddc
No related branches found
No related tags found
1 merge request
!39
Merging develop into main
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
.gitlab-ci.yml
+1
-1
1 addition, 1 deletion
.gitlab-ci.yml
run/scripts/dir
+1
-1
1 addition, 1 deletion
run/scripts/dir
run/scripts/start
+26
-27
26 additions, 27 deletions
run/scripts/start
setup/scripts/l3d
+18
-7
18 additions, 7 deletions
setup/scripts/l3d
start.sh
+35
-27
35 additions, 27 deletions
start.sh
with
81 additions
and
63 deletions
.gitlab-ci.yml
+
1
−
1
View file @
8ffd6908
...
...
@@ -5,7 +5,7 @@ include:
variables
:
VERSION
:
${CI_COMMIT_TAG}
CI_VERSION
:
v2.2.1
5
CI_VERSION
:
v2.2.1
7
before_script
:
-
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
...
...
This diff is collapsed.
Click to expand it.
run/scripts/dir
+
1
−
1
View file @
8ffd6908
#!/bin/bash
if
[[
-n
$1
]]
;
then
docker inspect
${
1
}
_l3d | jq
-r
.[0].Config.Env |
grep
L3DHOSTDIR |
cut
-d
'='
-f
2 |
cut
-d
'"'
-f
1
docker inspect
${
1
}
_
${
USERNAME
}
_
l3d | jq
-r
.[0].Config.Env |
grep
L3DHOSTDIR |
cut
-d
'='
-f
2 |
cut
-d
'"'
-f
1
fi
This diff is collapsed.
Click to expand it.
run/scripts/start
+
26
−
27
View file @
8ffd6908
#!/bin/bash
function
getConfig
()
{
if
[[
"
$L3D_COMPOSE
"
!=
"[]"
]]
;
then
COMPOSE_PROJECT_NAME
=
$(
yq .name
$L3D_COMPOSE
)
PHP_VERSION
=
$(
yq .services.php.image
$L3D_COMPOSE
|
cut
-d
':'
-f
2
)
rm
"
$L3D_COMPOSE
"
fi
if
[[
!
-n
${
PHP_VERSION
}
]]
;
then
while
true
;
do
DEFAULT
=
8.1
...
...
@@ -23,24 +28,6 @@ function getConfig() {
esac
done
fi
if
[[
!
-n
${
COMPOSER_DOWNGRADE
}
]]
;
then
while
true
;
do
DEFAULT
=
0
read
-p
"Do you want to downgrade Composer to version 1 - 0=No, 1=Yes? [No] "
VALUE
if
[[
"x
$VALUE
"
==
"x"
]]
;
then
COMPOSER_DOWNGRADE
=
$DEFAULT
else
COMPOSER_DOWNGRADE
=
$VALUE
fi
case
${
COMPOSER_DOWNGRADE
}
in
0
)
break
;;
1
)
break
;;
no|NO|No
)
COMPOSER_DOWNGRADE
=
0
;;
yes
|
YES|Yes
)
COMPOSER_DOWNGRADE
=
1
;;
*
)
echo
"Only 1 or 0 are valid responses."
;;
esac
done
fi
if
[[
!
-n
${
COMPOSE_PROJECT_NAME
}
]]
;
then
DEFAULT
=
$(
basename
$WORKDIR
)
read
-p
"Name your project (used as subdomain): [
$DEFAULT
]"
VALUE
...
...
@@ -64,9 +51,9 @@ function startContainer() {
if
[[
$COMPOSE_PROJECT_NAME
==
"."
]]
;
then
mode
=
NONPRESISTENT
else
ID
=
$(
docker container
ls
--all
-q
-f
name
=
^
${
COMPOSE_PROJECT_NAME
}
_l3d
$)
ID
=
$(
docker container
ls
--all
-q
-f
name
=
^
${
COMPOSE_PROJECT_NAME
}
_
${
USERNAME
}
_
l3d
$)
if
[[
-n
${
ID
}
]]
;
then
docker start
${
COMPOSE_PROJECT_NAME
}
_l3d
docker start
${
COMPOSE_PROJECT_NAME
}
_
${
USERNAME
}
_
l3d
mode
=
REGULAR
fi
fi
...
...
@@ -80,13 +67,17 @@ function startContainer() {
--env
COMPOSE_PROJECT_NAME
=
${
COMPOSE_PROJECT_NAME
}
--env
COMPOSER_DOWNGRADE
=
${
COMPOSER_DOWNGRADE
}
--env
PHP_VERSION
=
${
PHP_VERSION
}
--env
SSH_AUTH_SOCK
=
${
SSHAUTHSOCK
}
--volume
${
L3DDOCKERHOST
}
:/var/run/docker.sock
--volume
${
WORKDIR
}
:/drupal
--volume
${
SSHAUTH
}
:
${
SSHAUTHSOCK
}
--volume
${
HOMEDIR
}
:/home/
${
USERNAME
}
--workdir
/drupal
)
if
[[
-n
"
$SSHAUTH
"
]]
;
then
start_params+
=(
--env
SSH_AUTH_SOCK
=
${
SSHAUTHSOCK
}
--volume
${
SSHAUTH
}
:
${
SSHAUTHSOCK
}
)
fi
if
[[
${
L3DHOSTOS
}
!=
Darwin
]]
;
then
start_params+
=(
--user
${
USERID
}
:
${
GROUPID
}
...
...
@@ -107,7 +98,7 @@ function startContainer() {
start_params+
=(
--hostname
${
COMPOSE_PROJECT_NAME
}
-l3d
)
docker run
--name
${
COMPOSE_PROJECT_NAME
}
_l3d
-dt
\
docker run
--name
${
COMPOSE_PROJECT_NAME
}
_
${
USERNAME
}
_
l3d
-dt
\
"
${
start_params
[@]
}
"
\
--restart
unless-stopped
\
registry.lakedrops.com/docker/l3d/php-
${
PHP_VERSION
}
:
${
L3DVERSION
}
...
...
@@ -116,8 +107,12 @@ function startContainer() {
--hostname
"L3D"
--env
HOMEDIR
=
${
HOMEDIR
}
--env
WORKDIR
=
${
WORKDIR
}
--env
SSHAUTH
=
${
SSHAUTH
}
)
if
[[
-n
"
$SSHAUTH
"
]]
;
then
start_params+
=(
--env
SSHAUTH
=
${
SSHAUTH
}
)
fi
docker run
-it
--rm
\
"
${
start_params
[@]
}
"
\
registry.lakedrops.com/docker/l3d/php-
${
PHP_VERSION
}
:
${
L3DVERSION
}
\
...
...
@@ -129,8 +124,12 @@ function startContainer() {
start_params
=(
--env
HOMEDIR
=
${
HOMEDIR
}
--env
WORKDIR
=
${
WORKDIR
}
--env
SSHAUTH
=
${
SSHAUTH
}
)
if
[[
-n
"
$SSHAUTH
"
]]
;
then
start_params+
=(
--env
SSHAUTH
=
${
SSHAUTH
}
)
fi
if
[[
"
$PHP_VERSION
"
!=
"unknown"
]]
;
then
start_params+
=(
--env
PHP_VERSION
=
${
PHP_VERSION
}
...
...
@@ -138,7 +137,7 @@ function startContainer() {
fi
docker
exec
-it
\
"
${
start_params
[@]
}
"
\
${
COMPOSE_PROJECT_NAME
}
_l3d
\
${
COMPOSE_PROJECT_NAME
}
_
${
USERNAME
}
_
l3d
\
/usr/local/bin/.start
exitContainer
fi
...
...
@@ -148,7 +147,7 @@ if [[ -n $1 ]]; then
if
[[
"
$1
"
==
"."
]]
;
then
COMPOSE_PROJECT_NAME
=
.
else
ID
=
$(
docker container
ls
--all
-q
-f
name
=
^
$1_l3d$)
ID
=
$(
docker container
ls
--all
-q
-f
name
=
^
$1_
${
USERNAME
}
_
l3d
$)
if
[[
-n
${
ID
}
]]
;
then
PHP_VERSION
=
unknown
COMPOSE_PROJECT_NAME
=
$1
...
...
This diff is collapsed.
Click to expand it.
setup/scripts/l3d
+
18
−
7
View file @
8ffd6908
...
...
@@ -4,7 +4,6 @@ GROUPID=$(id -g)
GROUPIDS
=
$(
id
-G
)
L3DHOSTOS
=
"
$(
uname
-s
)
"
L3DDOCKERHOST
=
/var/run/docker.sock
SSHAUTH
=
${
SSH_AUTH_SOCK
}
SSHAUTHSOCK
=
/ssh-agent
USERID
=
$(
id
-u
)
USERNAME
=
${
USER
}
...
...
@@ -25,9 +24,11 @@ case "${L3DHOSTOS}" in
USERNAME
=
root
# This variable is used to access the ssh agent on MacOS.
SSHAUTHMAGICPATH
=
"/run/host-services/ssh-auth.sock"
SSHAUTH
=
${
SSHAUTHMAGICPATH
}
SSHAUTHSOCK
=
${
SSHAUTHMAGICPATH
}
if
[[
-f
"/run/host-services/ssh-auth.sock"
]]
;
then
SSHAUTHMAGICPATH
=
"/run/host-services/ssh-auth.sock"
SSH_AUTH_SOCK
=
${
SSHAUTHMAGICPATH
}
SSHAUTHSOCK
=
${
SSHAUTHMAGICPATH
}
fi
if
[[
$?
>
0
]]
;
then
exit
$?
fi
...
...
@@ -80,7 +81,7 @@ fi
# Chenge directory to the existing project root, if available.
if
[[
-n
$1
]]
;
then
ID
=
$(
docker container
ls
--all
-q
-f
name
=
^
$1_l3d$)
ID
=
$(
docker container
ls
--all
-q
-f
name
=
^
$1_
${
USERNAME
}
_
l3d
$)
if
[[
-n
${
ID
}
]]
;
then
cd
$(
docker
exec
${
ID
}
php /usr/local/bin/volume.php
--none
)
fi
...
...
@@ -98,6 +99,11 @@ if [[ -f ".lakedrops.yml" ]]; then
L3D_CONFIG
=
/tmp/
${
RANDOM
}
.lakedrops.yml
docker
cp
.lakedrops.yml l3drun:
$L3D_CONFIG
>
/dev/null 2>&1
fi
L3D_COMPOSE
=[]
if
[[
-f
"docker-compose.yml"
]]
;
then
L3D_COMPOSE
=
/tmp/
${
RANDOM
}
-docker-compose
.yml
docker
cp
docker-compose.yml l3drun:
$L3D_COMPOSE
>
/dev/null 2>&1
fi
# Create project container parameters
project_params
=(
...
...
@@ -109,13 +115,18 @@ project_params=(
--env
L3DSHELL
=
${
L3DSHELL
}
--env
L3D_ALWAYS_CLEANUP
=
${
L3D_ALWAYS_CLEANUP
}
--env
L3D_CONFIG
=
${
L3D_CONFIG
}
--env
L3D_COMPOSE
=
${
L3D_COMPOSE
}
--env
WORKDIR
=
${
PWD
}
--env
SSHAUTH
=
${
SSHAUTH
}
--env
SSHAUTHSOCK
=
${
SSHAUTHSOCK
}
--env
PHP_VERSION
=
${
PHP_VERSION
}
--env
COMPOSE_PROJECT_NAME
=
${
COMPOSE_PROJECT_NAME
}
--env
COMPOSER_DOWNGRADE
=
${
COMPOSER_DOWNGRADE
}
)
if
[[
-n
"
$SSH_AUTH_SOCK
"
]]
;
then
project_params+
=(
--env
SSHAUTH
=
${
SSH_AUTH_SOCK
}
--env
SSHAUTHSOCK
=
${
SSHAUTHSOCK
}
)
fi
# Execute project container
docker
exec
-it
\
...
...
This diff is collapsed.
Click to expand it.
start.sh
+
35
−
27
View file @
8ffd6908
...
...
@@ -32,20 +32,22 @@ function restoreEnvFile {
if
[[
"
${
COMPOSE_PROJECT_NAME
}
"
==
"."
]]
;
then
return
fi
if
[[
-n
${
PHP_VERSION
}
]]
;
then
echo
"PHP_VERSION=
${
PHP_VERSION
}
"
>>
.env
fi
if
[[
-n
${
COMPOSE_PROJECT_NAME
}
]]
;
then
echo
"COMPOSE_PROJECT_NAME=
${
COMPOSE_PROJECT_NAME
}
"
>>
.env
fi
if
[[
-n
${
COMPOSER_DOWNGRADE
}
]]
;
then
echo
"COMPOSER_DOWNGRADE=
${
COMPOSER_DOWNGRADE
}
"
>>
.env
fi
if
[[
-f
".env"
]]
;
then
# shellcheck disable=SC2046
# shellcheck disable=SC2094
# shellcheck disable=SC2002
env
-i
$(
cat
.env | xargs
)
>
.env
if
[[
-f
".env"
&&
-w
".env"
]]
||
[[
!
-f
".env"
&&
-w
.
]]
;
then
if
[[
-n
${
PHP_VERSION
}
]]
;
then
echo
"PHP_VERSION=
${
PHP_VERSION
}
"
>>
.env
fi
if
[[
-n
${
COMPOSE_PROJECT_NAME
}
]]
;
then
echo
"COMPOSE_PROJECT_NAME=
${
COMPOSE_PROJECT_NAME
}
"
>>
.env
fi
if
[[
-n
${
COMPOSER_DOWNGRADE
}
]]
;
then
echo
"COMPOSER_DOWNGRADE=
${
COMPOSER_DOWNGRADE
}
"
>>
.env
fi
if
[[
-f
".env"
]]
;
then
# shellcheck disable=SC2046
# shellcheck disable=SC2094
# shellcheck disable=SC2002
env
-i
$(
cat
.env | xargs
)
>
.env
fi
fi
}
...
...
@@ -207,30 +209,36 @@ function initialSetup {
}
function
setupAhoy
{
if
[[
!
-f
.ahoy.yml
]]
;
then
if
[[
!
-f
.ahoy.yml
&&
-w
.
]]
;
then
echo
"ahoyapi: v2"
>
.ahoy.yml
echo
"commands:"
>>
.ahoy.yml
fi
if
[[
!
-L
.ahoy.l3d
]]
;
then
if
[[
!
-L
.ahoy.l3d
&&
-w
.
]]
;
then
ln
-s
/etc/ahoy .ahoy.l3d
fi
if
[[
-f
.gitignore
]]
;
then
EXISTING
=
$(
cat
.gitignore |
grep
"^/.ahoy.l3d$"
)
if
[[
-z
${
EXISTING
}
]]
;
then
echo
"/.ahoy.l3d"
>>
.gitignore
if
[[
-f
".gitignore"
&&
-w
".gitignore"
]]
||
[[
!
-f
".gitignore"
&&
-w
.
]]
;
then
echo
"/.ahoy.l3d"
>>
.gitignore
fi
fi
fi
EXISTING
=
$(
cat
.ahoy.yml |
grep
"^ changelog:"
)
if
[[
-z
${
EXISTING
}
]]
;
then
echo
" changelog:"
>>
.ahoy.yml
echo
" imports:"
>>
.ahoy.yml
echo
" - ./.ahoy.l3d/changelog.yml"
>>
.ahoy.yml
echo
" usage: Changelog tools."
>>
.ahoy.yml
if
[[
-f
".ahoy.yml"
&&
-w
".ahoy.yml"
]]
||
[[
!
-f
".ahoy.yml"
&&
-w
.
]]
;
then
EXISTING
=
$(
cat
.ahoy.yml |
grep
"^ changelog:"
)
if
[[
-z
${
EXISTING
}
]]
;
then
echo
" changelog:"
>>
.ahoy.yml
echo
" imports:"
>>
.ahoy.yml
echo
" - ./.ahoy.l3d/changelog.yml"
>>
.ahoy.yml
echo
" usage: Changelog tools."
>>
.ahoy.yml
fi
fi
}
if
[[
-n
${
PHP_VERSION
}
]]
;
then
echo
"PHP_VERSION=
${
PHP_VERSION
}
"
>>
.env
if
[[
-f
".env"
&&
-w
".env"
]]
||
[[
!
-f
".env"
&&
-w
.
]]
;
then
echo
"PHP_VERSION=
${
PHP_VERSION
}
"
>>
.env
fi
fi
readEnv
# Validate PHP version
...
...
@@ -242,7 +250,7 @@ if [[ "$INSTALLED_PHP_VERSION" != "$PHP_VERSION" ]]; then
if
[[
"
${
COMPOSE_PROJECT_NAME
}
"
!=
"."
]]
;
then
echo
-e
"
\\
033[31m Killed the outdated container, please start again !!!
\\
033[0m"
echo
-e
"
\\
033[31m =====================================================
\\
033[0m"
docker
rm
-f
${
COMPOSE_PROJECT_NAME
}
_l3d
docker
rm
-f
${
COMPOSE_PROJECT_NAME
}
_
${
USERNAME
}
_
l3d
fi
fi
if
[[
"
$COMPOSER_DOWNGRADE
"
==
"1"
]]
;
then
...
...
@@ -278,8 +286,8 @@ if [[ "${COMPOSE_PROJECT_NAME}" != "." ]]; then
echo
"#!/bin/sh"
>
.git/hooks/post-checkout
chmod
+x .git/hooks/post-checkout
fi
OLDCOMMAND
=
'docker exec '
${
COMPOSE_PROJECT_NAME
}
'_l3d /usr/local/bin/update-env'
NEWCOMMAND
=
'RUNNING=$(docker container ls --all -q -f name='
${
COMPOSE_PROJECT_NAME
}
'_l3d);if [ "x$RUNNING" != "x" ];then docker exec '
${
COMPOSE_PROJECT_NAME
}
'_l3d /usr/local/bin/update-env;fi'
OLDCOMMAND
=
'docker exec '
${
COMPOSE_PROJECT_NAME
}
'_
'
${
USERNAME
}
'_
l3d /usr/local/bin/update-env'
NEWCOMMAND
=
'RUNNING=$(docker container ls --all -q -f name='
${
COMPOSE_PROJECT_NAME
}
'_
'
${
USERNAME
}
_
'
l3d);if [ "x$RUNNING" != "x" ];then docker exec '
${
COMPOSE_PROJECT_NAME
}
'_l3d /usr/local/bin/update-env;fi'
OLD_HOOK_DEFINED
=
$(
grep
"
$OLDCOMMAND
"
.git/hooks/post-checkout
)
NEW_HOOK_DEFINED
=
$(
grep
"
$NEWCOMMAND
"
.git/hooks/post-checkout
)
if
[[
"x
$OLD_HOOK_DEFINED
"
=
"x"
]]
;
then
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment