我正在尝试为gitlab-runner设置柯南。
当我为自己配置柯南时,可以使用“柯南远程添加...”,“柯南用户...”,并将结果保存在我的主目录中。
但是,我无法以gitlab-runner身份登录,所以我不知道如何使这些设置持久化。我可以在.gitlab-ci.yml中定义CONAN_USER_HOME指向一个目录,但是不清楚gitlab-runner是否有权读取我添加到该目录的任何内容。
这通常是通过将这些柯南命令添加到.gitlab-ci.yml以便每次运行都被调用来完成的吗?感觉就像浪费资源。
答案 0 :(得分:1)
柯南(Conan)提供了一些环境变量,可以帮助您根据远程名称CONAN_LOGIN_USERNAME_和CONAN_LOGIN_PASSWORD_登录。
但是,它不能完全解决您的问题,您需要添加您的远程地址。这样,您就可以使用Gitlab env var来动态化:
image: conanio/gcc8:latest
run:
script:
- conan remote add upload_repo ${CONAN_REMOTE}
- conan create . demo/stable
- conan upload foo/0.1.0@demo/stable --all -r upload_repo
在这里,我只是通过环境变量${CONAN_REMOTE}
添加我的柯南存储库,该环境将通过我的Gitlab环境变量进行配置。另外,我应该有CONAN_LOGIN_USERNAME_upload_repo
和CONAN_LOGIN_PASSWORD_upload_repo
,否则我需要为conan user -r upload_repo -p <password> <username>
它适用于简单的构建,但是我想说它是有限的,并且当您需要构建不同的配置时不能很好地扩展。
IMO,您应该尝试Conan Package Tools,它是在CI上使用的扩展名。您可以运行以下命令为gitlab生成模板:
conan new foo/0.1 -cis -ciglg
它将生成文件build.py
和.gitlab-ci.yml
。
此外,您还可以使用Gitlab来查看此example。