小编Chr*_*ite的帖子

使用分支参数构建管道

我似乎无法创建构建特定分支的Jenkins管道作业,其中该分支是构建参数.

这是一些配置截图:

param配置 (我尝试过使用Git参数和字符串参数,结果相同)

分支配置 (我试过$BRANCH_NAME_PARAM,${BRANCH_NAME_PARAM}而且${env.BRANCH_NAME_PARAM},所有的变化同样的结果)

在此输入图像描述

和构建日志:

hudson.plugins.git.GitException: Command "git fetch --tags --progress origin +refs/heads/${BRANCH_NAME_PARAM}:refs/remotes/origin/${BRANCH_NAME_PARAM} --prune" returned status code 128:
stdout: 
stderr: fatal: Couldn't find remote ref refs/heads/${BRANCH_NAME_PARAM}

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1970)
Run Code Online (Sandbox Code Playgroud)

我显然做错了什么 - 关于什么的任何想法?

jenkins jenkins-pipeline

18
推荐指数
3
解决办法
9739
查看次数

Hadoop MapReduce出错

当我使用Hadoop运行mapreduce程序时,我收到以下错误.

10/01/18 10:52:48 INFO mapred.JobClient: Task Id : attempt_201001181020_0002_m_000014_0, Status : FAILED
  java.io.IOException: Task process exit with nonzero status of 1.
    at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:418)
10/01/18 10:52:48 WARN mapred.JobClient: Error reading task outputhttp://ubuntu.ubuntu-domain:50060/tasklog?plaintext=true&taskid=attempt_201001181020_0002_m_000014_0&filter=stdout
10/01/18 10:52:48 WARN mapred.JobClient: Error reading task outputhttp://ubuntu.ubuntu-domain:50060/tasklog?plaintext=true&taskid=attempt_201001181020_0002_m_000014_0&filter=stderr
Run Code Online (Sandbox Code Playgroud)

这个错误是什么?

hadoop mapreduce

10
推荐指数
1
解决办法
1万
查看次数

在AngularJS指令中查看函数的值

有没有办法在AngularJS指令中观察函数表达式更改的值?我有以下HTML和Javascript,并且{{editable()}}模板中的插值显示值的计算结果为true,而检查Chrome中的HTML元素则显示contenteditable为false.

关于如何观察此函数的值的任何建议都会改变,并相应地更新元素attr?或者有更好的方法来实现这一点(我仍然想评估功能)?

HTML:

<h4 editable="account.hasRole('ROLE_ADMIN')"
                content="doc.heading"></h4>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

mod
    .directive(
            'editable',
            function() {
                return {
                    restrict : 'A',
                    template : '<button class="btn pull-right"><i class="icon-pencil"></i></button>{{content}} ({{editable()}})',
                    scope : {
                        'content' : '=',
                        'editable' : '&'
                    },
                    link : function(scope, element, attrs) {
                        scope.$watch('editable', function(newValue) {
                            element.attr('contenteditable', newValue());
                        });
                    }
                };
            });
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive

9
推荐指数
2
解决办法
5883
查看次数

将 pydantic 对象写入 sqlalchemy json 列

我正在寻找一种将 pydantic 对象存储在 sqlalchemy json 列中的方法。datetime到目前为止,我的尝试都被pydantic 对象中的一个字段绊倒了。我觉得我错过了一些明显的东西。

我的第一次尝试是简单地序列化.dict(). 但这不会将日期时间对象转换为字符串,因此序列化器崩溃了。如果我使用 进行转换.json,则结果是一个字符串,并且数据库中存储的是字符串的 json,而不是字典。

import sqlalchemy.orm
from pydantic import BaseModel
from datetime import datetime

mapper_registry = sqlalchemy.orm.registry()
Base = mapper_registry.generate_base()


class _PydanticType(sqlalchemy.types.TypeDecorator):
    impl = sqlalchemy.types.JSON

    def __init__(self, pydantic_type):
        super().__init__()
        self._pydantic_type = pydantic_type

    def process_bind_param(self, value, dialect):
        return value.dict() if value else None

    def process_result_value(self, value, dialect):
        return self._pydantic_type.parse_obj(value) if value else None


class Test(BaseModel):
    timestamp: datetime


class Foo(Base):
    __tablename__ = 'foo'
    x = sqlalchemy.Column(sqlalchemy.Integer, primary_key=True)
    y = …
Run Code Online (Sandbox Code Playgroud)

python datetime sqlalchemy pydantic

9
推荐指数
1
解决办法
5781
查看次数

如何配置nginx从其他文件夹加载try_files?

我需要一些帮助配置nginx来加载来自不同文件夹的文件.这是我的配置:

index index.php;

server {
    server_name domain.com;
    root /www/domain.com/www/;

    location / {
            try_files $uri $uri/ /php_www/index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index /php_www/index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
    }

    error_page  404  /404.html;

    error_log /var/log/nginx/error.log;

}
Run Code Online (Sandbox Code Playgroud)

问题是/ php_www /不在nginx中定义的根目录内.

我有4个不同的文件夹,我需要这样做,这是我的文件夹结构:

/www/domain.com/www/
/www/domain.com/php_www/
/www/domain.com/content1/
/www/domain.com/content2/
Run Code Online (Sandbox Code Playgroud)

我想要做的是当访问者访问domain.com/page1/content1/我想从content1文件夹加载内容时,例如.这样做的原因是我有几个git项目有单独的repos ...这将使我能够将网站的某些区域推向生产,而不会影响其他任何事情.我也不想在/ www文件夹中访问我的所有文件/内容,因此网址不能被暴力攻击,寻找内容.

希望这是有道理的!

工作解决方案(摘自评论)

location ^~ / { 
    root /www/domain.com/php_www/; 
    try_files $uri $uri/ /index.php; 
    location ~* \.(?:php|html)$ { 
        try_files $uri =404; 
        fastcgi_pass 127.0.0.1:9000; 
        include …
Run Code Online (Sandbox Code Playgroud)

nginx

7
推荐指数
1
解决办法
1万
查看次数

Tomcat v7.0加载异常 - 将servlet ssi标记为不可用

新安装的Tomcat v7.0和Eclipse.试图加载SSI Servlet支持.根据Tomcat指令修改了context.xml和web.xml.

Context.xml(显示相关片段):

<Context reloadable="true" privileged="true">

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>


</Context>
Run Code Online (Sandbox Code Playgroud)

web.xml(显示相关片段):

   <servlet>
        <servlet-name>ssi</servlet-name>
        <servlet-class>
          org.apache.catalina.ssi.SSIServlet
        </servlet-class>
        <init-param>
          <param-name>buffered</param-name>
          <param-value>1</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>0</param-value>
        </init-param>
        <init-param>
          <param-name>expires</param-name>
          <param-value>666</param-value>
        </init-param>
        <init-param>
          <param-name>isVirtualWebappRelative</param-name>
          <param-value>0</param-value>
        </init-param>
        <load-on-startup>4</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>ssi</servlet-name>
        <url-pattern>*.shtml</url-pattern>
    </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

但我仍然得到以下加载异常:

Mar 23, 2012 12:06:00 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet  threw load() exception
java.lang.SecurityException: Restricted class org.apache.catalina.ssi.SSIServlet
    at 

org.apache.catalina.core.DefaultInstanceManager.checkAccess(DefaultInstanceManager.java:548)
        at org.apache.catalina.core.DefaultInstanceManager.checkAccess(DefaultInstanceManager.java:539)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:124)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1136)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5001)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5289)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at …
Run Code Online (Sandbox Code Playgroud)

eclipse tomcat

5
推荐指数
2
解决办法
1万
查看次数

猪在咕mode声模式

我已经在Windows中安装了cygwin,hadoop和pig。配置似乎还可以,因为我可以在批处理和嵌入式模式下运行Pig脚本。

当我尝试在咕unt声模式下运行Pig时,会发生一些奇怪的事情。让我解释。我尝试运行一个简单的命令,如

grunt> A = load 'passwd' using PigStorage(':'); 
Run Code Online (Sandbox Code Playgroud)

当我按Enter键时,什么也没有发生。光标移至下一行,grunt>提示不再出现。似乎在输入文本编辑器时。

发生过类似的事情吗?你知道我该怎么解决吗?

cygwin hadoop apache-pig gruntjs

5
推荐指数
1
解决办法
3575
查看次数

猪java.lang.NoSuchFieldException:jobsInProgress异常

我正在使用Pig-0.11.0 + 28和CDH4,当我运行任何Pig工作时,我得到了这个例外.我也发生在本地模式.有任何想法吗?

2013-07-08 13:53:44,035 [main] WARN  org.apache.pig.backend.hadoop23.PigJobControl - falling back to default JobControl (not using hadoop 0.23 ?)
  java.lang.NoSuchFieldException: jobsInProgress
    at java.lang.Class.getDeclaredField(Class.java:1938)
    at org.apache.pig.backend.hadoop23.PigJobControl.<clinit>(PigJobControl.java:58)
    at org.apache.pig.backend.hadoop.executionengine.shims.HadoopShims.newJobControl(HadoopShims.java:102)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.compile(JobControlCompiler.java:285)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:177)
    at org.apache.pig.PigServer.launchPlan(PigServer.java:1266)
    at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1251)
    at org.apache.pig.PigServer.execute(PigServer.java:1241)
    at org.apache.pig.PigServer.executeBatch(PigServer.java:335)
    at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:137)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170)
    at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
    at org.apache.pig.Main.run(Main.java:604)
    at org.apache.pig.Main.main(Main.java:157)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
Run Code Online (Sandbox Code Playgroud)

hadoop mapreduce apache-pig

5
推荐指数
1
解决办法
2010
查看次数

解密自定义maven插件中的服务器条目

我正在尝试编写一个自定义的maven-2插件,似乎无法找到有关读取settings.xml和解密服务器条目的任何文档.

我环顾了一些maven依赖项,例如maven-settingsmaven-settings-builder(版本3.0.3,我假设它为maven 3,因为我遇到了一个方法未找到异常的问题Server.clone()).

maven-settings:2.2.1 能够加载设置(痛苦的是,你必须提供settings.xml的路径 - 是否有工厂方法只使用默认的$ {user.home} /.m2/settings.xml?),但是我找不到解密API(就像3.0.3中存在的那样):

DefaultMavenSettingsBuilder builder = new DefaultMavenSettingsBuilder();
Settings settings = builder.buildSettings(new File(System.getProperty("user.home") + "/.m2/settings.xml"));
settings.getServer("id").getPassword(); 
// i get the encrypted String "{gsfdGJHv69}" 
Run Code Online (Sandbox Code Playgroud)

无论如何,我特别寻找关于如何(与maven 2.2.1)的指导:

  1. 将用户的settings.xml加载到org.apache.maven.Settings对象中,而无需指定完整路径
  2. 解密settings.xml文件中的特定命名服务器条目(就像在3.0.3中使用maven-settings-builder:3.0.3 DefaultSettingsDecryptor类一样)

都在我的自定义AbstractMojo实现的execute方法中

maven-2 maven-plugin maven

3
推荐指数
2
解决办法
1732
查看次数