Jenkins执行docker,找不到入口点脚本

时间:2018-07-02 16:53:41

标签: docker jenkins

所以..在Jenkins执行器中运行docker-compose run test是可行的。不会从Jenkins UI(立即构建,或触发另一个构建的实际代码更改)中运行它。

16:37:18 Cannot start service test: OCI runtime create failed: 
container_linux.go:348: starting container process caused "exec:   
\"./script/docker-entrypoint.sh\": stat ./script/docker-entrypoint.sh: 
no such file or directory": unknown

我已经尝试将脚本从script/文件夹移出到根目录,并尝试在ADD . /app之后使用ADD script/entrypoint.sh /app/script/entrypoint.sh手动添加脚本,还尝试重新启动docker daemon,Jenkins机器,和东西。

我似乎无法让我的形象从詹金斯身上走下来。它使用docker-compose run test在本地运行,可以使用相同的命令在Jenkins执行程序的终端上运行,但不能通过常规管道运行。

这是我的Dockerfile

FROM ruby:2.2.2

RUN mkdir -p /app

# install Ruby dependencies
ADD Gemfile /app
ADD Gemfile.lock /app
RUN cd /app && \
  bundle config github.com ${GITHUB_USERNAME}:${GITHUB_TOKEN} && \
  BUNDLE_GEMFILE=Gemfile bundle install

ADD . /app

# rails server, elasticsearch, and webpack ports
EXPOSE 3000

WORKDIR /app

ENTRYPOINT [ "./script/docker-entrypoint.sh" ]

CMD [ "script/server" ]

这是我的入口点脚本:

#!/bin/sh
set -ex

if [ -f tmp/pids/server.pid ]; then
  rm tmp/pids/server.pid
fi

exec "$@"

最后但并非最不重要的一点是,我正在尝试构建/运行的test服务:

test:
    build:
      context: .
      args:
        GITHUB_USERNAME: ${GITHUB_USERNAME}
        GITHUB_TOKEN: ${GITHUB_TOKEN}
    tty: true
    stdin_open: true
    command: ./script/test -n 4
    environment:
      RAILS_ENV: test
    volumes:
      - .:/app

在此我将不胜感激,因为我不知道如何使图像在Jenkins中正常运行。

0 个答案:

没有答案