В Jenkins, когда я запускаю конвейер и пытаюсь использовать модули в контейнере, я получаю модули, которые не найдены, как показано ниже:
Я использую шаг сборки "Powershell".
Когда я запускаю контейнер в интерактивном режиме, я вижу модули, как показано ниже (# 3):
1
[Tatux.Utils] $ pwsh -NonInteractive -NoProfile -File /tmp/jenkins1449086927549124636.ps1
################################
Running on node 745612521e5a
Build: jenkins-Powershell-Tatux.Utils-16
################################
Directory: /opt/microsoft/powershell/7/Modules
ModuleType Version PreRelease Name PSEdition
---------- ------- ---------- ---- ---------
Manifest 1.2.5 Microsoft.PowerShell.Archive Desk
Manifest 7.0.0.0 Microsoft.PowerShell.Host Core
Manifest 7.0.0.0 Microsoft.PowerShell.Management Core
Manifest 7.0.0.0 Microsoft.PowerShell.Security Core
Manifest 7.0.0.0 Microsoft.PowerShell.Utility Core
Script 1.4.6 PackageManagement Desk
Script 2.2.3 PowerShellGet Desk
Script 2.0.5 PSDesiredStateConfiguration Core
Script 2.0.0 PSReadLine Desk
Binary 2.0.3 ThreadJob Desk
[91mImport-Module: [0m/tmp/jenkins1449086927549124636.ps1:9
[96mLine |
[96m 9 | [0m [96mImport-Module Pester, PSScriptAnalyzer[0m
[96m | [91m ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[91m[96m | [91mThe specified module 'Pester' was not loaded because no valid module file was found in any module directory.
[0m
Build step 'PowerShell' marked build as failure
Recording NUnit tests results
FATAL: No NUnit test report files were found. Configuration error?
Finished: FAILURE
Это мой dockerfile :
2
FROM mcr.microsoft.com/powershell:7.0.0-ubuntu-18.04
MAINTAINER "Nigel Tatschner"
# Set up required repos
RUN apt-get update && \
apt-get -qy full-upgrade && \
apt-get install -qy git && \
# Install a basic SSH server
apt-get install -qy openssh-server && \
sed -i 's|session required pam_loginuid.so|session optional pam_login$
mkdir -p /var/run/sshd && \
# Install JDK 8 (latest stable edition at 2019-04-01)
apt-get install -qy openjdk-8-jdk && \
# Cleanup old packages
apt-get -qy autoremove && \
# Add user jenkins to the image
adduser --quiet jenkins && \
# Set password for the jenkins user (you may want to alter this).
echo "####:####" | chpasswd && \
mkdir /home/#####/.m2
RUN mkdir /home/jenkins/.ssh/ \
&& chown -R ####:####/home/####/.m2/ \
&& chown -R ####:#### /home/####/.ssh/
CMD ["/usr/sbin/sshd", "-D"]
RUN pwsh -command "install-Module -Name Pester, PSScriptAnalyzer -force"
# Standard SSH port
EXPOSE 22
CMD [ "pwsh" ]
Выходные данные интерактивного сеанса tty:
3