1
0
mirror of https://github.com/IEEE-SB-Passau/pelican-deployment-system.git synced 2017-09-06 16:35:38 +02:00

document config file so far

This commit is contained in:
2016-06-11 22:04:27 +02:00
parent d217d07693
commit e1f4dad2f0
2 changed files with 25 additions and 7 deletions

View File

@@ -3,16 +3,34 @@ import os
if __name__ == "__main__":
raise SystemExit("Not meant to be run directly!")
# make sure git does not block giving pw prompts
# make sure git does not block giving pw prompts, git 2.3+ only
os.environ["GIT_TERMINAL_PROMPT"] = "0"
RUNNERS = {
# name of the runner, avoid spaces and other obscure cahracters
"website_master": {
# directory where building takes place, will be created if not there
# multiple runners may point to the same one
"working_directory": "/tmp/test",
"clone_url": "https://github.com/catdog2/sandbox.git",
# upstream url of the repository which contains the website
# use https://git::@github.com... to avoid pw prompts and instead fail
# (e.g. if github gives errornously 401 temporarily, git would block)
# os.environ["GIT_TERMINAL_PROMPT"] = "0" does the same but git 2.3+only
"clone_url": "https://git::@github.com/IEEE-SB-Passau/pelican-ieee-passau.git",
# branch which will be built
"git_branch": "master",
# the final target, usually the wwwroot
"target_directory": "/tmp/wwwout",
"pelican_command": 'echo $PELICAN_SITEURL',
"pelican_env": {"PELICAN_SITEURL": "//apu:800"}
# command which builds the website
# important: specify {output} as output path of the generator
"build_command": 'tox -e pelican --output "{output}"',
# will be added to env when running build_command
"build_env": {"PELICAN_SITEURL": "//apu:800"}
}
}

View File

@@ -32,10 +32,10 @@ class DeploymentRunner:
self.target_directory = runner_config["target_directory"]
self.build_repo_path = self.working_directory / BUILD_REPO_DIR.format(
name=name)
self.pelican_command = runner_config["pelican_command"].format(
self.build_command = runner_config["build_command"].format(
output=OUTPUT_DIR.format(name=name))
self._build_proc_env = dict(os.environ,
**runner_config.get("pelican_env", {}))
**runner_config.get("build_env", {}))
self._executor = ThreadPoolExecutor(max_workers=1)
self._futures = set()
@@ -116,7 +116,7 @@ class DeploymentRunner:
# start the build if we should not abort
if not self._abort:
args = shlex.split(self.pelican_command)
args = shlex.split(self.build_command)
self._build_proc = Popen(args,
cwd=str(self.build_repo_path),
env=self._build_proc_env)