Dockerfile 用于创建一个图像以在 jenkins 中用作容器从站
Posted
技术标签:
【中文标题】Dockerfile 用于创建一个图像以在 jenkins 中用作容器从站【英文标题】:Dockerfile to create an image to be used as an container slave in jenkins 【发布时间】:2020-01-07 23:58:00 【问题描述】:我正在尝试使用 Jenkins 中的节点从属容器在其上运行 npm 指令。因此,我正在创建一个 Dockerfile 以使用 ssh 和 nodejs 获取有效图像。执行程序运行良好,但是当我使用 npm 时,它说它不知道该命令。
同样的问题发生在(在构建 dockerfile 之后)我执行 docker exec -it af5451297d85 bash 之后,在容器内,我尝试执行 npm --v(例如)。
# This Dockerfile is used to build an image containing an node jenkins slave
FROM node:9.0
MAINTAINER Estefania Castro <estefania.castro@luceit.es>
# Upgrade and Install packages
RUN apt-get update && apt-get -y upgrade && apt-get install -y git openssh-server
# Install nginx to test.
RUN apt-get install nginx -y
# Prepare container for ssh
RUN mkdir /var/run/sshd && adduser --quiet jenkins && echo "jenkins:jenkins" | chpasswd
RUN npm install
ENV CI=true
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
我想运行 npm 指令,如 npm install、npm publish 等,以在 jenkinsfile 中管理我的项目。有人可以帮忙吗?
谢谢
【问题讨论】:
你试过设置npm命令的完整路径吗? 【参考方案1】:我已经解决了这个问题(两周后哈哈)。
FROM jenkins/ssh-slave
# Install selected extensions and other stuff
RUN apt-get update && apt-get -y --no-install-recommends install && apt-get clean
RUN apt-get install -y curl
# Install nodejs
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get install -y nodejs && apt-get install -y nginx
【讨论】:
以上是关于Dockerfile 用于创建一个图像以在 jenkins 中用作容器从站的主要内容,如果未能解决你的问题,请参考以下文章
如何创建 Haar Cascade(.xml 文件)以在 OpenCV 中使用?