今天刚开始学习有关CI/CD的知识。在今天之前不知道什么是docker。我已经成功将我的Unity项目在CircleCI上实现了CD。所有的运行命令都在docker容器内部进行。
version: 2.1
executors:
unity:
docker:
# https://hub.docker.com/r/gableroux/unity3d/tags
- image: gableroux/unity3d:2018.2.21f1
jobs:
build-test:
executor: unity
steps:
- checkout
# Install zip
- run: apt-get update
- run: apt-get install zip -y
# Decrypt the license file
- run: openssl aes-256-cbc -d -in .circleci/Unity_v2018.x.ulf.enc -k ${UNITY_LICENSE_DECRYPT_KEY} >> .circleci/Unity_v2018.x.ulf
# Activate unity
- run: /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -logFile -manualLicenseFile .circleci/Unity_v2018.x.ulf || exit 0
# Build Windows and OSX
- run: /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -noUpm -logFile -projectPath . -buildWindows64Player ./bin-win64/CISample.exe
- run: /opt/Unity/Editor/Unity -quit -batchmode -nographics -silent-crashes -noUpm -logFile -projectPath . -buildOSXUniversalPlayer ./bin-osx/CISample.app
# Zip builds
- run: zip -r CISampleWin64Binary.zip ./bin-win64
- run: zip -r CISampleOSXBinary.zip ./bin-osx
# Store builds
- store_artifacts:
path: ./CISampleWin64Binary.zip
- store_artifacts:
path: ./CISampleOSXBinary.zip
workflows:
version: 2
build:
jobs:
- build-test
我无法通过GitHub Actions来完成此操作。我可以运行一个Docker镜像,但是我不知道如何在其中运行命令。所有的命令都在Ubuntu虚拟机层级运行。我的测试是运行ls
命令,以查看是否从Docker容器中运行,但实际上并没有。
以下是我尝试过的几个方法。
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: |
docker run gableroux/unity3d:2018.2.21f1 bash
ls
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: docker://gableroux/unity3d:2018.2.21f1
- run: ls