我最近使用Homebrew安装了Jenkins.我还使用Homebrew安装了Mercurial.
我可以成功克隆一个hg仓库 - 从终端.但如果我尝试在詹金斯的工作中做同样的事情,那就失败了.
所以,在工作中,我告诉Jenkins运行一个shell脚本echo $PATH.果然,路径/usr/local/bin不存在.如果我从终端执行相同的命令,它就在那里.
那么,什么是修改PATH的最佳方法,以便当我从终端回显时,Jenkins正在拉动我正在使用的相同PATH?
注意,Jenkins是从我登录进行这些测试的同一个用户帐户运行的,所以我无法理解为什么会发生这种情况.
我正在尝试使用docker将我们的java web应用程序部署到aws弹性beanstalk,其想法是能够在本地运行容器以进行开发和测试,并最终使用git将其推送到生产环境.
我已经创建了一个安装了tomcat8和java8的基本映像,执行gradle构建的映像继承了这个基本映像,从而加快了构建过程.
一切都运行良好,除了使用docker构建的继承应用程序容器似乎不缓存gradle依赖项,它每次都下载它,包括gradlew.我们使用以下命令构建Web应用程序:
./gradlew war
有没有办法可以缓存文件,~/.gradle这会大大加快我的建立速度.
这不是beanstalk上的一个问题,但对于尝试在本地构建和运行的开发人员来说这是一个大问题,因为这需要花费很多时间,正如您可以想象的那样.
基本映像dockerfile:
FROM phusion/baseimage
EXPOSE 8080
RUN apt-get update
RUN add-apt-repository ppa:webupd8team/java
RUN apt-get update
RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
RUN apt-get -y install oracle-java8-installer
RUN java -version
ENV TOMCAT_VERSION 8.0.9
RUN wget --quiet --no-cookies http://archive.apache.org/dist/tomcat/tomcat-8/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz -O /tmp/catalina.tar.gz
# Unpack
RUN tar xzf /tmp/catalina.tar.gz -C /opt
RUN mv /opt/apache-tomcat-${TOMCAT_VERSION} /opt/tomcat
RUN ln -s /opt/tomcat/logs /var/log/tomcat
RUN rm /tmp/catalina.tar.gz
# Remove unneeded apps
RUN rm -rf /opt/tomcat/webapps/examples
RUN …Run Code Online (Sandbox Code Playgroud) 当我在Jenkins中构建时,它会因此错误而失败.任何的想法?
ERROR: Error cloning remote repo 'origin' : Could not clone git@github.com:test/test.git
ERROR: Cause: Error performing command: git clone --progress -o origin
git@github.com:test/test.git /var/lib/jenkins/jobs/test/workspace
Command "git clone --progress -o origin git@github.com:test/test.git
/var/lib/jenkins/jobs/test/workspace" returned status code 128: Initialized empty Git
repository in /var/lib/jenkins/jobs/test/workspace/.git/
No protocol specified
(ssh-askpass:801): Gtk-WARNING **: cannot open display: :0.0
Host key verification failed.
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud) 我在docker容器中托管我自己的docker-registry.它是由nginx在一个单独的容器中运行来添加基本身份验证的.检查_ping路由我可以看到nginx正确路由.docker login从boot2docker(在Mac OSX上)调用时出现此错误:
FATA守护进程的错误响应:无效的注册表端点https://www.example.com:8080/v1/:获取https://www.example.com:8080/v1/_ping:x509:证书由未知签名权威.如果此私有注册表仅支持具有未知CA证书的HTTP或HTTPS,请添加
--insecure-registry www.example.com:8080到守护程序的参数.对于HTTPS,如果您可以访问注册表的CA证书,则不需要该标志; 只需将CA证书放在/etc/docker/certs.d/www.example.com:8080/ca.crt
这很奇怪 - 因为它是有效的CA SSL证书.我已经尝试--insecure-registry按照这些说明添加EXTRA-ARGS:https://github.com/boot2docker/boot2docker#insecure-registry但最初"profile"文件不存在.如果我创建它,并添加
EXTRA_ARGS="--insecure-registry www.example.com:8080"
Run Code Online (Sandbox Code Playgroud)
我看不出任何进步.我想隔离这个例子,所以尝试docker login从ubuntu VM(而不是boot2docker).现在我得到一个不同的错误:
Error response from daemon:
Run Code Online (Sandbox Code Playgroud)
docker注册表直接从公共集线器运行,例如
docker run -d -p 5000:5000 registry
Run Code Online (Sandbox Code Playgroud)
(注意nginx路由从8080到5000).任何帮助和/或资源来帮助调试这将非常感激.
UPDATE
我正在寻找一个帮助全面解决这个问题的指南.特别:
我创建了注册表并在本地测试,它的工作原理.我已经使用nginx添加基本身份验证来保护注册表.
麻烦现在实际上是使用两种类型客户端的注册表:
1)非boot2docker客户端.下面的答案之一有助于此.我在/ etc/default/docker中为选项添加了--insecure-registry标志,现在我可以与远程docker注册表进行通信了.但是,这与auth不兼容,因为docker login收到错误:
2015/01/15 21:33:57 HTTP code 401, Docker will not send auth headers over HTTP.
Run Code Online (Sandbox Code Playgroud)
所以,如果我想使用auth,我需要使用HTTPS.我已经有这个服务器通过HTTPS服务,但如果我设置--insecure-registry,这不起作用.似乎存在证书信任问题,我相信我可以在非boot2docker上解决但是..
2)对于boot2docker客户端,我不能让--insecure-registry工作或证书被信任?
更新2
在这个堆栈交换问题后,我设法将ca添加到我的ubuntu VM,现在我可以从非boot2docker客户端使用.但是,仍有很多奇怪的行为.
即使我当前的用户是docker组的成员(所以我不必使用sudo)我现在必须使用sudo或者在尝试登录或从我的私人注册表中提取时出现以下错误
user@ubuntu:~$ docker login example.com:8080 …Run Code Online (Sandbox Code Playgroud) 我是React.js的新手,我正在尝试从tutorialspoint的教程中学习,但我遇到了错误.执行npm start命令时,控制台上出现以下错误:
C:\Users\HP\Desktop\reactApp1> npm start
> reactapp1@1.0.0 start C:\Users\HP\Desktop\reactApp1.
> webpack-dev-server --hot
The CLI moved into a separate package: webpack-cli.
Please install .webpack-cli. in addition to webpack itself to use the CLI.
-> When using npm: npm install webpack-cli -D
-> When using yarn: yarn add webpack-cli -D
module.js:540
throw err;
Error: Cannot find module .webpack-cli/bin/config-yargs.
at Function.Module._resolveFilenam (module.js:538:15)
at Function.Module. load (module.j5:668:25)
at Module.require (module.js,587.17)
at require (internal/module.js:11:18)
at Object•<anonymous> (C:\Users\HP\Desktop\reactApp1\node_modules\webpack-dev-server\bin\webpack-dev-server.js:65:1)
at Module. compile (module.js:663:30)
at Object.Module. …Run Code Online (Sandbox Code Playgroud) 我正在尝试在笔记本电脑上创建一个swarm设置.我在笔记本电脑上运行swarm守护程序,并运行2个Ubuntu 14.04 VM作为docker节点.在其中一个节点上,我能够运行swarm,我可以连接到swarm守护进程.我可以列出具有docker info的节点并在其上生成一个容器.但是当我尝试在另一个VM节点上提取swarm图像时,我收到以下错误:
pensu@pensu-virtual-machine:~$ sudo docker pull swarm
Pulling repository swarm
FATA[0025] Get https://index.docker.io/v1/repositories/library/swarm/images: dial tcp: lookup index.docker.io on 127.0.1.1:53: read udp 127.0.1.1:53: i/o timeout
Run Code Online (Sandbox Code Playgroud)
我检查过,有人说这是代理问题.但我没有使用任何代理服务器.以下是其他相关信息:
pensu@pensu-virtual-machine:~$ sudo docker version
Client version: 1.5.0
Client API version: 1.17
Go version (client): go1.4.1
Git commit (client): a8a31ef
OS/Arch (client): linux/amd64
Server version: 1.5.0
Server API version: 1.17
Go version (server): go1.4.1
Git commit (server): a8a31ef
Run Code Online (Sandbox Code Playgroud)
这是我的/ etc/default/docker:
pensu@pensu-virtual-machine:~$ cat /etc/default/docker
# Docker Upstart and SysVinit configuration file
# Customize location of …Run Code Online (Sandbox Code Playgroud) 我开始将jenkins中的一些工作迁移到管道执行.
有没有机会在多分支管道作业中看到警告图?在我的旧项目中,我可以使用"配置趋势图"选项配置图形.这些选项将在管道语法工具中崩溃.
有没有选项让图表可见?
我有我的Jenkinsfile:
stage ('Warnings gcc') {
step([$class: 'WarningsPublisher', canComputeNew: false, canResolveRelativePaths: false, defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', parserConfigurations: [[parserName: 'GNU Make + GNU C Compiler (gcc)', pattern: 'error_and_warnings.txt']], unHealthy: ''])
}
stage ('Warnings clang') {
step([$class: 'WarningsPublisher', canComputeNew: false, canResolveRelativePaths: false, defaultEncoding: '', excludePattern: '', healthy: '', includePattern: '', messagesPattern: '', parserConfigurations: [[parserName: 'Clang (LLVM based)', pattern: 'error_and_warnings_clang.txt']], unHealthy: ''])
}
Run Code Online (Sandbox Code Playgroud)
将生成报告但不显示图表.
更新:现在它仍然无法工作,但也不可能使用剪切生成器作为警告插件.
在snipped生成器中为警告插件输入文件名会导致java null指针异常:
javax.servlet.ServletException: java.lang.NullPointerException …Run Code Online (Sandbox Code Playgroud) 当我docker-compose up nginx使用主机路径运行时出错:
错误:for nginx无法启动服务nginx:oci运行时错误:container_linux.go:247:启动容器进程导致"process_linux.go:359:容器init导致"rootfs_linux.go:54:mount \\"/ d/Sites/lfdwveille/app/config/docker/nginx.conf \\"to rootfs \\"/ mnt/sda1/var/lib/docker/aufs/mnt/fce42187ef3ff6bcc0d5acf53a77d2218348a432063e2d5fe00b8ac945578f63 \\"at \\"/ mnt/sda1/var/lib /docker/aufs/mnt/fce42187ef3ff6bcc0d5acf53a77d2218348a432063e2d5fe00b8ac945578f63/etc/nginx/nginx.conf \\"导致\\"不是目录\\"\""
:您是否尝试将目录挂载到文件上(反之亦然)?检查指定的主机路径是否存在且是否为预期类型
[31mERROR [0m:在启动项目时遇到错误.
文件夹url是正确的:(我不知道为什么nginx不想要mount文件夹,我对PHP和MySQL没有问题.
我的设置:
错误日志:
container_linux.go:247:启动容器进程导致"process_linux.go:359:容器初始化导致"rootfs_linux.go:54:mount \\"/ d/Sites/lfdwveille/app/config/docker/nginx.conf \\ "to rootfs \\"/ mnt/sda1/var/lib/docker/aufs/mnt/fce42187ef3ff6bcc0d5acf53a77d2218348a432063e2d5fe00b8ac945578f63 \\"at \\"/ mnt/sda1/var/lib/docker/aufs/mnt/fce42187ef3ff6bcc0d5acf53a77d2218348a432063e2d5fe00b8ac945578f63/etc/nginx/nginx.conf \\"导致\\"不是目录\\"\""
有人有想法吗?
谢谢 !
我一直在虚拟的"Todo"项目中尝试@ ngrx/entity,只有一个AppModule,一个减速器和一个组件.但是,我在试用它时遇到了问题.
我的行为很简单,只是一些CRUD操作:
import { Action } from '@ngrx/store';
import { Todo } from '../../models/todo';
export const CREATE = '[Todo] Create'
export const UPDATE = '[Todo] Update'
export const DELETE = '[Todo] Delete'
export class Create implements Action {
readonly type = CREATE;
constructor(public todo: Todo) { }
}
export class Update implements Action {
readonly type = UPDATE;
constructor(
public id: string,
public changes: Partial<Todo>,
) { }
}
export class Delete implements Action {
readonly type = DELETE; …Run Code Online (Sandbox Code Playgroud) 我在jenkins中安装了docker,jenkins和docker -build-step.
我已经设置了一个步骤,以便从我的存储库的Dockerfile构建一个图像.
它把这个消息转发给我:
Started by BitBucket push by living_jordi
Started by BitBucket push by living_jordi
Building in workspace /var/lib/jenkins/workspace/Create Docker Images
Cloning the remote Git repository
Cloning repository git@bitbucket.org:livingdigital/docker-images.git
git init /var/lib/jenkins/workspace/Create Docker Images # timeout=10
Fetching upstream changes from git@bitbucket.org:livingdigital/docker-images.git
git --version # timeout=10
using GIT_SSH to set credentials BitBucket Private Key
git -c core.askpass=true fetch --tags --progress git@bitbucket.org:livingdigital/docker-images.git +refs/heads/*:refs/remotes/origin/*
git config remote.origin.url git@bitbucket.org:livingdigital/docker-images.git # timeout=10
git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
git config remote.origin.url git@bitbucket.org:livingdigital/docker-images.git …Run Code Online (Sandbox Code Playgroud)