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) 我在github git repo https://github.com/larrycai/LASO有两个分支(master和gh-pages)
根据文档http://about.travis-ci.org/docs/user/build-configuration/,如果.travis.yml文件存在于分支中,它将在所有分支上触发
虽然目前master仅针对内置分支触发,但请参阅https://travis-ci.org/#!/larrycai/LASO/branch_summary
.travis.yml即使我想为所有分支构建,我是否必须设置白名单或黑名单.
我想以简单的方式调试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
我尝试使用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
jenkins远程访问API有两个python包,我需要帮助比较这两个包,所以我可以判断使用哪个.
到目前为止我的想法:
python-jenkins是一个非常简单的界面,是新的Ubuntu版本的一部分,这意味着易于使用,足够成熟以供一般使用.
詹金斯的官方文档中提到了JenkinsAPI ,它看起来很新,但它与jenkins API开发的关联也更多.
到目前为止我需要的是:
我想在高级模块中坚持使用python API,如果可能的话,避免使用python-requests模块
还有什么想法吗?
编辑在下面的评论之后改进问题
我有一个验收测试用例,结果是纯文本.我想用Jenkins来显示结果,而JUnit格式适合我.
所以我想检查是否有现成的python代码来生成JUnit格式的XML,这样我就可以轻松地添加我的解析代码了.
相关问题.
由于密钥具有".",因此我无法从地图列表中获取值.内.
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) 我有一个使用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) 如何使用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 /
你对我有什么好的经验和建议吗?
美好的一天!
我看了很多关于docker注册表的信息,但仍然有一些关于它的问题...请帮助我理解一些关于索引和注册表的事情.
我已经为私有存储库安装了docker-registry.我使用独立模式是真的.据我所知,docker注册表无法验证用户身份 - 它要求索引权限和身份验证.因此,我禁用了独立模式,因此docker-registry需要通过index.docker.io对我进行身份验证,但它不起作用 - 注册表允许我推送和拉出我想要的任何图像.所以问题是 - 为什么docker-registry不会尝试通过我index.docker.io验证我?
如果docker-registry通过index.docker.io对我进行身份验证,那么存储授权参数的位置是什么?我的意思是,如果我想授予用户vozerov仅推送到private.repo.domain:5000/vozerov存储库.
Docker搜索索引.因此,如果我想在我的私有存储库中搜索我的图像,我需要告诉index.docker.io有新的私有存储库.它是真的还是我说错了?
我在github上找到了docker-index项目 - https://github.com/ekristen/docker-index.它是index.docker.io的替代品.那么,如果我安装它,登录它,docker搜索命令搜索我的私有索引或通过index.docker.io?
UPD:
我今晚用docker-registry工作了很多,所以我有点困惑:
如果独立模式为true,则不在任何变体中使用disable_token_auth.所以我们可以:
1.1使用此repo而不使用auth(对任何人提取和推送权限).
1.2使用nginx和docker登录my.registry.com的基本身份验证,因此每个拥有基本身份验证信息的用户都可以推送.因此,我们在这种模式下没有授权.
如果独立模式为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错误...也许这是我的错误配置?