Add a CI step to create a container image
This commit is contained in:
parent
d210e05d7e
commit
79fae47918
7 changed files with 73 additions and 3 deletions
|
@ -141,6 +141,19 @@ build_archlinux:
|
|||
only:
|
||||
- tags
|
||||
|
||||
build_docker:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" -f package/docker/Dockerfile .
|
||||
- docker tag "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_REF_NAME"
|
||||
- if [[ -n "$CI_COMMIT_TAG" ]]; then docker tag "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA" "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_TAG"; fi
|
||||
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_TOKEN registry.gitlab.com
|
||||
- docker push "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_SHA"
|
||||
- docker push "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_REF_NAME"
|
||||
- if [[ -n "$CI_COMMIT_TAG" ]]; then docker push "registry.gitlab.com/s3lph/spaceapi-server:$CI_COMMIT_TAG"; fi
|
||||
only:
|
||||
- tags
|
||||
|
||||
|
||||
|
||||
release:
|
||||
|
@ -148,4 +161,4 @@ release:
|
|||
script:
|
||||
- python3 package/release.py
|
||||
only:
|
||||
- tags
|
||||
- tags
|
||||
|
|
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -1,5 +1,18 @@
|
|||
# SpaceAPI Server Changelog
|
||||
|
||||
<!-- BEGIN RELEASE v0.3.1 -->
|
||||
## Version 0.3
|
||||
|
||||
Container image release
|
||||
|
||||
### Changes
|
||||
|
||||
<!-- BEGIN CHANGES 0.3.1 -->
|
||||
- Release as container image
|
||||
<!-- END CHANGES 0.3.1 -->
|
||||
|
||||
<!-- END RELEASE v0.3.1 -->
|
||||
|
||||
<!-- BEGIN RELEASE v0.3 -->
|
||||
## Version 0.3
|
||||
|
||||
|
|
13
package/docker/Dockerfile
Normal file
13
package/docker/Dockerfile
Normal file
|
@ -0,0 +1,13 @@
|
|||
FROM python:3.8-alpine
|
||||
|
||||
ADD spaceapi_server/ /spaceapi_server/
|
||||
ADD setup.py /setup.py
|
||||
RUN python setup.py install && mkdir -p /config/plugins && chmod 0755 -R /config
|
||||
ADD package/docker/config.json /config/config.json
|
||||
ADD package/docker/template.json /config/template.json
|
||||
|
||||
VOLUME /config
|
||||
EXPOSE 8000/tcp
|
||||
USER 1000
|
||||
|
||||
ENTRYPOINT [ "/usr/local/bin/python3.8", "-m", "spaceapi_server", "/config/config.json" ]
|
8
package/docker/config.json
Normal file
8
package/docker/config.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"address": "0.0.0.0",
|
||||
"port": 8000,
|
||||
"server": "wsgiref",
|
||||
"template": "/config/template.json",
|
||||
"plugins_dir": "/config/plugins",
|
||||
"plugins": {}
|
||||
}
|
23
package/docker/template.json
Normal file
23
package/docker/template.json
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"api": "0.13",
|
||||
"space": "example.space",
|
||||
"logo": "http://example.space/logo.png",
|
||||
"url": "http://example.space",
|
||||
"location": {
|
||||
"address": "example.space, 42 Example Street, 1337 Example Town",
|
||||
"lon": 42.42,
|
||||
"lat": 13.37
|
||||
},
|
||||
"contact": {
|
||||
"email": "example@example.space"
|
||||
},
|
||||
"issue_report_channels": [
|
||||
"email"
|
||||
],
|
||||
"state": {
|
||||
"open": null
|
||||
},
|
||||
"projects": [
|
||||
"http://example.space/projects"
|
||||
]
|
||||
}
|
2
setup.py
2
setup.py
|
@ -19,7 +19,7 @@ setup(
|
|||
python_requires='>=3.6',
|
||||
install_requires=[
|
||||
'bottle',
|
||||
'jinja2'
|
||||
'jinja2==2.10'
|
||||
],
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
|
||||
__version__ = '0.3'
|
||||
__version__ = '0.3.1'
|
||||
|
|
Loading…
Reference in a new issue