Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
configuration
Commits
d7ad3e96
Commit
d7ad3e96
authored
May 05, 2017
by
Ned Batchelder
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP: docker on releases
parent
2d984835
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
33 additions
and
19 deletions
+33
-19
docker.mk
+25
-15
docker/build/edxapp/Dockerfile
+5
-1
docker/build/edxapp/ansible_overrides.yml
+0
-1
docker/build/xenial-common/Dockerfile
+3
-2
No files found.
docker.mk
View file @
d7ad3e96
.PHONY
:
docker.build docker.test docker.pkg
# Define OPENEDX_RELEASE in the environment to build something other than master.
OPENEDX_RELEASE
?=
master
ifneq
($(OPENEDX_RELEASE),master)
IMAGE_PREFIX
:=
$
(
patsubst open-release/%.master,%/,
$(OPENEDX_RELEASE)
)
endif
SHARD
=
0
SHARDS
=
1
...
...
@@ -58,26 +64,30 @@ docker.test: $(foreach image,$(images),$(docker_test)$(image))
docker.pkg
:
$(foreach image
,
$(images)
,
$(docker_pkg)$(image))
docker.push
:
$(foreach image
,
$(images)
,
$(docker_push)$(image))
BUILD_ARGS
=
--build-arg
OPENEDX_RELEASE
=
$(OPENEDX_RELEASE)
--build-arg
IMAGE_PREFIX
=
$(IMAGE_PREFIX)
BUILD_DIR
=
.build/
$(IMAGE_PREFIX)
$(docker_pull)%
:
docker pull
$
(
subst @,:,
$*
)
$(docker_build)%
:
docker/build/%/Dockerfile
docker build
-f
$<
.
docker build
$(BUILD_ARGS)
-f
$<
.
$(docker_test)%
:
.build/
%/Dockerfile.test
docker build
-t
$*
:test
-f
$<
.
$(docker_test)%
:
$(BUILD_DIR)
%/Dockerfile.test
docker build
$(BUILD_ARGS)
-t
$(IMAGE_PREFIX)
$*
:test
-f
$<
.
$(docker_pkg)%
:
.build/
%/Dockerfile.pkg
docker build
-t
$*
:latest
-f
$<
.
$(docker_pkg)%
:
$(BUILD_DIR)
%/Dockerfile.pkg
docker build
$(BUILD_ARGS)
-t
$(IMAGE_PREFIX)
$*
:latest
-f
$<
.
$(docker_push)%
:
$(docker_pkg)%
docker tag
$
*
:latest edxops/
$*
:latest
docker push edxops/
$*
:latest
docker tag
$
(IMAGE_PREFIX)$*
:latest edxops/
$(IMAGE_PREFIX)
$*
:latest
docker push edxops/
$
(IMAGE_PREFIX)$
*
:latest
.SECONDARY
:
$(BUILD_DIR)%/Dockerfile.d $(BUILD_DIR)%/Dockerfile.test $(BUILD_DIR)%/Dockerfile.pkg
.build/
%/Dockerfile.d
:
docker/build/%/Dockerfile Makefile
@
mkdir
-p
.build/
$*
$
(
eval
FROM
=
$(
shell
grep
"^
\s
*FROM"
$<
| sed
-E
"s/FROM //"
| sed
-E
"s/:/@/g"
)
)
$(BUILD_DIR)
%/Dockerfile.d
:
docker/build/%/Dockerfile Makefile
@
mkdir
-p
$(BUILD_DIR)
$*
$
(
eval
FROM
=
$(
shell
grep
"^
\s
*FROM"
$<
| sed
-E
"s/FROM //"
| sed
-E
"s/
\\\$
${
IMAGE_PREFIX
}
//"
| sed
-E
"s/
:/@/g"
)
)
$
(
eval
EDXOPS_FROM
=
$(
shell
echo
"
$(FROM)
"
| sed
-E
"s#edxops/([^@]+
)
(@.*
)
?#
\1
#"
)
)
@
echo
"
$(docker_build)$*
:
$(docker_pull)$(FROM)
"
>
$@
@
if
[
"
$(EDXOPS_FROM)
"
!=
"
$(FROM)
"
]
;
then
\
...
...
@@ -88,14 +98,14 @@ $(docker_push)%: $(docker_pkg)%
echo
"
$(docker_pkg)$*
:
$(docker_pull)$(FROM)
"
>>
$@
;
\
fi
.build/
%/Dockerfile.test
:
docker/build/%/Dockerfile Makefile
@
mkdir
-p
.build/
$*
$(BUILD_DIR)
%/Dockerfile.test
:
docker/build/%/Dockerfile Makefile
@
mkdir
-p
$(BUILD_DIR)
$*
@
# perl p
(
print the line
)
n
(
loop over every line
)
e
(
exec
the regex
)
, like sed but cross platform
@
perl
-pne
"s#FROM edxops/([^:]+)(:
\S
*)?#FROM
\1
:test#"
$<
>
$@
.build/
%/Dockerfile.pkg
:
docker/build/%/Dockerfile Makefile
@
mkdir
-p
.build/
$*
$(BUILD_DIR)
%/Dockerfile.pkg
:
docker/build/%/Dockerfile Makefile
@
mkdir
-p
$(BUILD_DIR)
$*
@
# perl p
(
print the line
)
n
(
loop over every line
)
e
(
exec
the regex
)
, like sed but cross platform
@
perl
-pne
"s#FROM edxops/([^:]+)(:
\S
*)?#FROM
\1
:test#"
$<
>
$@
-include
$(foreach
image,$(images),
.build/
$(image)/Dockerfile.d)
-include
$(foreach
image,$(images),
$(BUILD_DIR)
$(image)/Dockerfile.d)
docker/build/edxapp/Dockerfile
View file @
d7ad3e96
...
...
@@ -8,7 +8,8 @@
# with the currently checked-out configuration repo.
FROM
edxops/xenial-common:latest
ARG
IMAGE_PREFIX
FROM
edxops/${IMAGE_PREFIX}xenial-common:latest
MAINTAINER
edxops
USER
root
CMD
["/edx/app/supervisor/venvs/supervisor/bin/supervisord", "-n", "--configuration", "/edx/app/supervisor/supervisord.conf"]
...
...
@@ -18,9 +19,12 @@ WORKDIR /edx/app/edx_ansible/edx_ansible/docker/plays
COPY
docker/build/edxapp/ansible_overrides.yml /
ARG
OPENEDX_RELEASE=master
ENV
OPENEDX_RELEASE=${OPENEDX_RELEASE}
RUN
sudo
/edx/app/edx_ansible/venvs/edx_ansible/bin/ansible-playbook edxapp.yml
\
-c
local
-i
'127.0.0.1,'
\
-t
'install,assets,devstack'
\
--extra-vars
=
edx_platform_version
=
$OPENEDX_RELEASE
\
--extra-vars
=
"@/ansible_overrides.yml"
EXPOSE
18000 18010
docker/build/edxapp/ansible_overrides.yml
View file @
d7ad3e96
...
...
@@ -8,7 +8,6 @@ EDXAPP_MONGO_HOSTS:
devstack
:
true
migrate_db
:
false
mongo_enable_journal
:
false
edx_platform_version
:
'
master'
edxapp_npm_production
:
"
no"
EDXAPP_LMS_GUNICORN_EXTRA_CONF
:
'
reload
=
True'
...
...
docker/build/xenial-common/Dockerfile
View file @
d7ad3e96
FROM
ubuntu:xenial
MAINTAINER
edxops
MAINTAINER
edxops
# Set locale to UTF-8 which is not the default for docker.
# See the links for details:
...
...
@@ -10,7 +10,8 @@ ENV LANG C.UTF-8
ENV
ANSIBLE_REPO="https://github.com/edx/ansible"
ENV
CONFIGURATION_REPO="https://github.com/edx/configuration.git"
ENV
CONFIGURATION_VERSION="master"
ARG
OPENEDX_RELEASE=master
ENV
CONFIGURATION_VERSION="$OPENEDX_RELEASE"
ADD
util/install/ansible-bootstrap.sh /tmp/ansible-bootstrap.sh
RUN
chmod +x /tmp/ansible-bootstrap.sh
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment