我们正在调查使用Thoughtworks Go在工作中帮助改进我们的构建/部署/发布过程的可能性,但由于价格因素以及您实际得到的内容,我们决定反对它.
我想知道,Thoughtworks Go还有其他选择吗?它们可以是商业的也可以是开源的,我不介意.
我正在为一个 python 项目设置一个持续交付系统,并且我正在尝试弄清楚如何通过 Egg_info 设置项目构建的整个版本字符串。
我使用的是thoughtworks GO,它有一个内置的版本跟踪标签,名为GO_PIPELINE_LABEL。我想使用此版本作为参数来调用 setup_tools Egg 构建命令,以完全覆盖 setup.py 中的版本。
例如:
GO_PIPELINE_LABEL='1.2.3.4' python setup.py egg_info --tag-build=$GO_PIPELINE_LABEL bdist_egg
Run Code Online (Sandbox Code Playgroud)
似乎导致
'dist/myproject-0.0.01.2.3.4-py2.7.egg'
Run Code Online (Sandbox Code Playgroud)
它似乎总是将 setup.py 版本和命令行版本连接起来。我的 setup.py 看起来像这样:
import os
from setuptools import setup, find_packages
from setuptools.command.install import install
ROOT_DIR = os.path.dirname(__file__)
SOURCE_DIR = os.path.join(ROOT_DIR)
# python setup.py egg_info -rb14 bdist_egg rotate -m.egg -k5
# python setup.py egg_info --tag-build=1.2.3.4 bdist_egg
version = ''
setup(name='myproject',
version=version,
description='baa',
author='Me',
author_email='irrelevant@domain.com',
packages=['submodule', 'another.submodule'],
package_data = {
'': ['*.xsd'],
},
install_requires=['cmd2',
'dnspython',
'ordereddict',
'prettyprint',
'pycontrol',
'simplejson', …Run Code Online (Sandbox Code Playgroud) 试图从go模板引用环境变量,但我不认为这是可能的?在文档和示例中看不到任何内容我通过使用参数充分但从不是环境变量.我想要的是什么样的
<templates>
<pipeline name="TestEcho">
<stage name="Echo">
<jobs>
<job name="Echo">
<tasks>
<exec command="echo ${SOME_ENVIRONMENT_VARIABLE}">
</exec>
</tasks>
</job>
</jobs>
</stage>
</pipeline>
<templates>
Run Code Online (Sandbox Code Playgroud)
提前致谢!
蒂姆
我正在使用docker来持续集成Scala项目.在容器内部,我正在构建项目并使用"sbt dist"创建分发.
这需要花费很长时间来拉下所有依赖项,我想使用这里提到的docker数据卷:http://docs.docker.io/en/latest/use/working_with_volumes/
但是,我不明白如何让SBT将jar文件放入卷中,或者SBT如何知道如何从该卷读取它们.
Thoughtworks Go 提供了一堆传递给每个任务的特定于工作的环境变量。例如,我的作业输出API 文档指定的相同值。
[go] setting environment variable 'GO_ENVIRONMENT_NAME' to value 'rmp'
[go] setting environment variable 'a' to value 'b'
[go] setting environment variable 'GO_SERVER_URL' to value 'https://10.8.249.57:8154/go/'
Run Code Online (Sandbox Code Playgroud)
我无法在 bash 任务命令中解析变量。
[go] Start to execute task: <exec command="echo" >
<arg>${GO_SERVER_URL}</arg>
Run Code Online (Sandbox Code Playgroud)
只是输出
${GO_SERVER_URL}
Run Code Online (Sandbox Code Playgroud)
我试过了...
${GO_SERVER_URL}
${env.GO_SERVER_URL}
${go.GO_SERVER_URL}
$[GO_SERVER_URL]
$GO_SERVER_URL
"${GO_SERVER_URL}"
Run Code Online (Sandbox Code Playgroud)
没有任何作用...
尝试使用Go Server docker映像在GoCD中创建管道时,我拒绝了请求的更改。
要启动服务器,我正在运行命令:
docker run --name gocd_server -d -p 8153:8153 -p 8154:8154 -v /Users/$(whoami)/workspace/gocd/godata:/godata -v /Users/$(whoami):/home/go gocd/gocd-server:v18.5.0
启动后,我可以在创建管道后继续执行步骤以单击完成,然后显示以下图像。您想要的更改被拒绝。
当我查看容器日志时,我看到:
2018-06-06 01:11:15,626 WARN [qtp57748372-20] Rails:-2 - Can't verify CSRF token authenticity
2018-06-06 01:11:15,635 ERROR [qtp57748372-20] Rails:-2 - ActionController::InvalidAuthenticityToken (ActionController::InvalidAuthenticityToken):
lib/jetty_weak_etag_middleware.rb:35:in 'call'
lib/catch_json_parse_errors.rb:23:in 'call'
Run Code Online (Sandbox Code Playgroud) 我只是试用Thoughtworks,但它不起作用。它无法清理工作目录,也无法说明原因。
Clean working directory is set to true. Unable to clean working directory for agent: /var/lib/go-agent/pipelines
Run Code Online (Sandbox Code Playgroud)