小编Lar*_*Cai的帖子

如何从python请求模块构造curl命令?

Python请求是一个很好的模块,可以简化我的Web REST API访问编程,我通常会在下面做

import json
url = 'https://api.github.com/some/endpoint'
payload = {'some': 'data'}
headers = {'Content-type': 'application/json', 'Accept': 'application/json'}

r = requests.post(url, data=json.dumps(payload), headers=headers)
Run Code Online (Sandbox Code Playgroud)

当出现错误时,我想看看它背后发生了什么.构造curl命令以在命令行中重现是常见的方法,因为这是RESP API文档中最常描述的标准方法

try:
    r = requests.post(url, data=json.dumps(payload), headers=headers)
except Exception as ex:
    print "try to use curl command below to reproduce"
    print curl_request(url,"POST",headers,payload)
Run Code Online (Sandbox Code Playgroud)

我可以curl为这个请求生成命令示例,在libcloud的调试中看到很好的例子,我找不到一个简单的构造方法,下面是我想要自己创建的方法.

# below code is just pseudo code, not correct 
def curl_request(url,method,headers,payloads):
    # construct curl sample from requests' structure
    # $ curl -v -H "Accept: application/json" -H …
Run Code Online (Sandbox Code Playgroud)

python-requests

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

travis-ci触发仅在github repo中为master分支构建

我在github git repo https://github.com/larrycai/LASO有两个分支(mastergh-pages)

根据文档http://about.travis-ci.org/docs/user/build-configuration/,如果.travis.yml文件存在于分支中,它将在所有分支上触发

虽然目前master仅针对内置分支触发,但请参阅https://travis-ci.org/#!/larrycai/LASO/branch_summary

.travis.yml即使我想为所有分支构建,我是否必须设置白名单或黑名单.

github travis-ci

22
推荐指数
2
解决办法
8116
查看次数

如何在命令行中启动pod而不在kubernetes中部署?

我想以简单的方式调试pod,因此我想在没有部署的情况下启动pod.

但它会自动创建部署

$ kubectl run nginx --image=nginx --port=80
deployment "nginx" created
Run Code Online (Sandbox Code Playgroud)

所以我必须创建该nginx.yaml文件

---
apiVersion: v1
kind: Pod
metadata:
  name: nginx
spec:
  containers:
    - name: nginx
      image: nginx
      ports:
        - containerPort: 80

并创建如下的pod,然后它只创建pod

kubectl create -f nginx.yaml
pod "nginx" created
Run Code Online (Sandbox Code Playgroud)

如何在命令行中指定kind:Pod要避免deployment

//我在Windows 7下运行minikue 0.20.0和kubernetes 1.7.0

kubernetes minikube

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

axis2 maven示例

我尝试使用axis2(1.5.1)版本从wsdl文件生成java代码,但我无法弄清楚什么是正确的pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <version>1.5.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <configuration>
                        <wsdlFile>src/main/resources/wsdl/stockquote.wsdl</wsdlFile>
                        <databindingName>xmlbeans</databindingName>
                        <packageName>a.bc</packageName>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<dependencies>
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2</artifactId>
        <version>1.5.1</version>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

当我输入mvn编译时,它会抱怨

Retrieving document at 'src/main/resources/wsdl/stockquote.wsdl'.
java.lang.ClassNotFoundException: org.apache.xml.serializer.TreeWalker
Run Code Online (Sandbox Code Playgroud)

如果我试图找到TreeWalker,找到一个合适的jar文件是一团糟.

你有人能给我一些提示吗?或者给我正确的pom.xml

[更新] xalan-2.7.0.jar也需要依赖,并且jar文件被破坏(由于nexus问题),thx pascal

wsdl axis2 maven-2 wsdl2code xmlserializer

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

python-jenkins或jenkinsapi用于python中的jenkins远程访问API

jenkins远程访问API有两个python包,我需要帮助比较这两个包,所以我可以判断使用哪个.

到目前为止我的想法:

  • python-jenkins是一个非常简单的界面,是新的Ubuntu版本的一部分,这意味着易于使用,足够成熟以供一般使用.

  • 詹金斯的官方文档中提到了JenkinsAPI ,它看起来很新,但它与jenkins API开发的关联也更多.

到目前为止我需要的是:

  • https访问和简单身份验证(jenkins中的令牌):文档并不清楚
  • 获取已安装插件的列表(这些包可能吗?)
  • 得到工作清单
  • 从job获取配置xml
  • ..稍后可能需要其他暴露的远程Access API

我想在高级模块中坚持使用python API,如果可能的话,避免使用python-requests模块

还有什么想法吗?

编辑在下面的评论之后改进问题

python jenkins

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

Python脚本从另一个测试结果生成JUnit报告

我有一个验收测试用例,结果是纯文本.我想用Jenkins来显示结果,而JUnit格式适合我.

所以我想检查是否有现成的python代码来生成JUnit格式的XML,这样我就可以轻松地添加我的解析代码了.

相关问题.

python junit jenkins

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

从docker inspect获取标签值

由于密钥具有".",因此我无法从地图列表中获取值.内.

docker inspect jenkins
...
  Config: {
  ..
      "Labels": {
            "com.docker.compose.config-hash": "85bcf1e0bcd708120185a303e2a8d8e65543c1ec77ec0c6762fc057dc10320aa",
            "com.docker.compose.container-number": "1",
            "com.docker.compose.oneoff": "False",
            "com.docker.compose.project": "new",
            "com.docker.compose.service": "sc2",
            "com.docker.compose.version": "1.5.2"
        }
    }
}

我可以得到地图清单

docker inspect -f {{.Config.Labels}} new_sc2_1
map[com.docker.compose.config-hash:85bcf1e0bcd708120185a303e2a8d8e65543c1ec77ec0c6762fc057dc10320aa com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:new com.docker.compose.service:sc2 com.docker.compose.version:1.5.2]

但是如何new从密钥中获取项目名称com.docker.compose.project

docker inspect -f {{.Config.Labels.com.docker.compose.project}} new_sc2_1
<no value>
Run Code Online (Sandbox Code Playgroud)

docker jq docker-compose

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

将文件从docker镜像复制到jenkins工作区

我有一个使用dockerfile的jenkins文件 - 我对如何将文件从docker镜像复制到jenkins工作区感兴趣.具体来说 - 我正在生成一个关于我希望由jenkins工作发布的docker镜像的HTML报告.

例如,如果我生成一个名为test.html/app/泊坞窗图像的目录-我怎么把它复制到工作区詹金斯这样我就可以发布.

Jenkinsfile以下示例:

node ('ondemand') {
    try {
        stage "build"
        checkout scm
        def customImage = docker.build("docker-image:${env.BUILD_ID}", "-f ./docker-image/Dockerfile .")

        stage "test copying files"
        customImage.inside('-u root') {
            sh 'touch /app/test.html && ls' // can see that test.html is generated

        }
    }
Run Code Online (Sandbox Code Playgroud)

docker jenkins-pipeline

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

使用JMS(ActiveMQ)进行单元测试

如何使用JMS进行单元测试?这是事实吗?

我google了一些东西 - JMS的单元测试:http ://activemq.apache.org/how-to-unit-test-jms-code.html - jmsTemplate:activemq.apache.org/jmstemplate-gotchas.html - mockRunner:mockrunner .sourceforge.net /

你对我有什么好的经验和建议吗?

unit-testing activemq-classic jms mocking jmstemplate

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

Docker注册表和索引

美好的一天!

我看了很多关于docker注册表的信息,但仍然有一些关于它的问题...请帮助我理解一些关于索引和注册表的事情.

  1. 我已经为私有存储库安装了docker-registry.我使用独立模式是真的.据我所知,docker注册表无法验证用户身份 - 它要求索引权限和身份验证.因此,我禁用了独立模式,因此docker-registry需要通过index.docker.io对我进行身份验证,但它不起作用 - 注册表允许我推送和拉出我想要的任何图像.所以问题是 - 为什么docker-registry不会尝试通过我index.docker.io验证我?

  2. 如果docker-registry通过index.docker.io对我进行身份验证,那么存储授权参数的位置是什么?我的意思是,如果我想授予用户vozerov仅推送到private.repo.domain:5000/vozerov存储库.

  3. Docker搜索索引.因此,如果我想在我的私有存储库中搜索我的图像,我需要告诉index.docker.io有新的私有存储库.它是真的还是我说错了?

  4. 我在github上找到了docker-index项目 - https://github.com/ekristen/docker-index.它是index.docker.io的替代品.那么,如果我安装它,登录它,docker搜索命令搜索我的私有索引或通过index.docker.io?

UPD:

我今晚用docker-registry工作了很多,所以我有点困惑:

  1. 如果独立模式为true,则不在任何变体中使用disable_token_auth.所以我们可以:

    1.1使用此repo而不使用auth(对任何人提取和推送权限).

    1.2使用nginx和docker登录my.registry.com的基本身份验证,因此每个拥有基本身份验证信息的用户都可以推送.因此,我们在这种模式下没有授权.

  2. 如果独立模式为false,则docker-registry需要与index.docker.io进行通信,但事实并非如此.两种变体:

    2.1.如果disable_auth_token为true - 我得到405错误(方法不允许),但这意味着我允许任何人推或拉图像?

    2.2.如果disable_auth_token为false - 我收到405错误...

对于2.1和2.2 docker登录my.registry.com无法正常工作 - 它显示我404错误...也许这是我的错误配置?

docker docker-registry

12
推荐指数
1
解决办法
5285
查看次数