我认为有以下可能的解决方案:
machine:而不是docker:自己启动 docker 容器我很想看到其他选择。
我得到了 #3 的工作。这是基本配方。
在我的 .circleci/config.yml 中:
version: 2
jobs:
build_test_deploy:
machine: true
steps:
- checkout
- run:
name: Setup branch specific variables and get machine info
command: |
./.circleci/createGradleProps.sh
- run:
name: Get the docker container and run the build
command: |
set -e
echo Login to docker hub...
docker login -u mylogin -p $DOCKER_PASSWORD
echo Pull down the docker image...
docker pull mycompany/myrepo:1.1 | egrep -v "^[[:space:]]*$|^#"
echo Starting the new container...
docker run --cap-add=NET_ADMIN --device=/dev/net/tun \
-e "CI=$CI" \
-e "CIRCLE_BRANCH=$CIRCLE_BRANCH" \
-e "AWS_ACCESS_KEY=$AWS_ACCESS_KEY" \
-e "AWS_SECRET_KEY=$AWS_SECRET_KEY" \
-v "$(pwd)"/../project:/home/circleci/project \
--name qbdvision-instance \
mycompany/myrepo:1.1 \
/home/circleci/build.sh
- run:
name: Package up the test results
command: |
pushd project/build/test/report
zip -r ~/testResults.zip *
popd
- store_artifacts:
path: ~/testResults.zip
destination: testResults.zip
workflows:
version: 2
build_test_deploy:
jobs:
- build_test_deploy
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2797 次 |
| 最近记录: |