我正在尝试在 Azure 管道上的 ubuntu 容器作业上构建 Debian 包。这是我的设置:池:“AWSLinux”容器:映像:ubuntu:20.04但看起来 ubuntu:20.04 docker 映像确实……
我正在尝试在 Azure 管道上的 ubuntu 容器作业上构建 Debian 包。
这是我的设置:
pool: 'AWSLinux'
container:
image: ubuntu:20.04
但看起来 ubuntu:20.04 docker 镜像没有安装一些必需的工具。(SUDO,SVN,dpkg-architecture)
------Update and install packages------
/__w/_temp/40c7e2e3-ed1a-4d0f-a8da-5f7bf062cb90.sh: line 6: sudo: command not found
/__w/_temp/40c7e2e3-ed1a-4d0f-a8da-5f7bf062cb90.sh: line 7: sudo: command not found
/__w/_temp/40c7e2e3-ed1a-4d0f-a8da-5f7bf062cb90.sh: line 8: sudo: command not found
------Initialize build environment------
/__w/_temp/40c7e2e3-ed1a-4d0f-a8da-5f7bf062cb90.sh: line 11: sudo: command not found
------Build DEBIAN------
/__w/16/DEBIAN/scripts/build.includes: line 78: dpkg-architecture: command not found
../../../scripts/build_template.includes: line 118: svnversion: command not found
但是在 Ubuntu vmImage 上构建时我没有遇到如下所示的缺少工具的问题:
pool:
vmImage: ubuntu-20.04
所以我的计划是将 Ubuntu Docker 镜像拉到与 vmImage:ubuntu 等效的某个地方,然后推送到我的私人 Harbor 注册表以在容器规范中引用它:
container:
image: registry:ubuntu2004
endpoint: private_harbor_connection
问题是哪里可以找到这个相当于 vmImage: ubuntu 的 Ubuntu Docker 镜像?有没有更好的解决方案?谢谢。
/////////////////////////////////////////////////////////// //////////////////////////////////
这是更新后的 yaml 文件:
trigger:
- master
pool: 'AWSLinux'
container:
image: ubuntu:20.04
options: "--name sample -v /usr/bin/docker:/tmp/docker:ro"
steps:
- checkout: self
lfs: true
path: HVD
clean: true
- script: |
/tmp/docker exec -t -u root sample mv /etc/sudoers /etc/sudoers.bak
/tmp/docker exec -t -u root sample apt-get -qq update
/tmp/docker exec -t -u root sample apt-get -qq install sudo
/tmp/docker exec -t -u root sample apt-get -qq install subversion
/tmp/docker exec -t -u root sample apt-get -qq install dpkg-dev
/tmp/docker exec -t -u root sample mv /etc/sudoers.bak /etc/sudoers
- script: |
cd HVD/Sources/Proprietary/hvd-client/
echo ------Update and install packages------
sudo apt update -y
sudo apt upgrade -y
sudo apt install -y build-essential devscripts equivs git git-lfs
echo ------Initialize build environment------
sudo ./init-dev-hvd
echo ------Build HVD------
./build.tp
echo ------Build finshed------
但是第二个脚本在运行“更新和安装包”部分时卡在以下屏幕输出。
Setting up tzdata (2024a-0ubuntu0.20.04) ...
debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline
Configuring tzdata
------------------
Please select the geographic area in which you live. Subsequent configuration
questions will narrow this down by presenting a list of cities, representing
the time zones in which they are located.
1. Africa 4. Australia 7. Atlantic 10. Pacific 13. Etc
2. America 5. Arctic 8. Europe 11. SystemV
3. Antarctica 6. Asia 9. Indian 12. US
Geographic area:
##[error]The operation was canceled.
/////////////////////////////////////////////////////////// ///////////////////
这是 6 月 5 日更新的 yaml。
trigger:
- master
pool: 'AWSLinux'
container:
image: ubuntu:20.04
options: "--name sample -v /usr/bin/docker:/tmp/docker:ro"
steps:
- checkout: self
lfs: true
path: HVD
clean: true
- script: |
/tmp/docker exec -t -u root sample mv /etc/sudoers /etc/sudoers.bak
/tmp/docker exec -t -u root sample apt-get -qq update
/tmp/docker exec -t -u root sample apt-get -qq install sudo
/tmp/docker exec -t -u root sample apt-get -qq install subversion
/tmp/docker exec -t -u root sample apt-get -qq install dpkg-dev
/tmp/docker exec -t -u root sample mv /etc/sudoers.bak /etc/sudoers
- script: |
cd HVD/Sources/Proprietary/hvd-client/
echo ------Update and install packages------
sudo apt update -y
sudo apt upgrade -y
sudo DEBIAN_FRONTEND=noninteractive apt install -y build-essential devscripts equivs git git-lfs
echo ------Initialize build environment------
sudo ./init-dev-hvd
echo ------Build HVD------
./build.tp
echo ------Build finshed------
脚本在步骤:\'./build.tp\' 失败,并出现以下错误:
------Build HVD------
No packages directory, rebuilding...
I: Cleaning hvd-client
dh clean
All build files have been removed.
I: Checking external version for hvd-client
I: This is not an external
I: Copying hvd-client
I: Checking source requirements for hvd-client
I: Checking build requirements for hvd-client
dpkg-checkbuilddeps: error: Unmet build dependencies: lbzip2 cmake qt5-default libssl-dev libpcsclite-dev libpng-dev libpulse-dev libxrandr-dev libxkbfile-dev libxcursor-dev libxt-dev chrpath python3-pip python3-venv libpython3-dev libxcb-xinerama0 libfreetype6-dev libxft-dev libqt5x11extras5-dev libxinerama-dev libudev-dev upx wmctrl libxmu-headers libxmu-dev libglib2.0-dev freerdp2-dev liblz4-tool cython3 clang-tidy-11 libuvc-dev libcups2-dev qtmultimedia5-dev qtpositioning5-dev libxext-dev libxcomposite-dev libxdamage-dev libxfixes-dev libxtst-dev libavcodec-dev libavutil-dev libicu-dev libgbm-dev libdrm-dev libjson-c-dev libopencv-dev libcurl4-openssl-dev
选项 1 :您可以使用 UI Canvas,将其设置为 World Space,并在您的层次结构和场景中正确定位它。
在这种情况下,您可以使用与 UI 相同的精灵。
选项 2 :您可以使用 3D Quad 并在层次结构和场景中正确定位它。
在这种情况下,您还需要正确设置代表精灵的纹理和材质。
你 OnTriggerEnter
看起来很好,你 PickUp
看起来很好,你 Add
看起来很好。
ListItems
看起来很奇怪:
p6
p7
p8
for (var i = 0; i < 3; i++){ // Or you can just use List<GameObject> ghostVisuals instead of ghost1, ghost2 and ghost3 GameObject currentGhost = null; if (i == 0) currentGhost = ghost1; else if (i == 1) currentGhost = ghost2; else if (i == 2) currentGhost = ghost3; else throw new InvalidOperationException(); if (Ghosts.Count > i) { currentGhost.SetActive(true); // We have a ghost, so enable the GameObject // Here you access the data you need for the `currentGhost` // e.g. if you have added a child GhostIcon to it: var ghostIcon = currentGhost.transform.Find("GhostIcon").GetComponent<Image>(); ghostIcon.sprite = Ghosts[i].icon; } else { currentGhost.SetActive(false); // No more ghosts, disable the game object }}
p9