Jenkins(管理jenkins - >系统信息)下的环境变量来自哪里?
我检查了/etc/init.d/tomcat5,/ usr/bin/dtomcat5,/ usr/bin/tomcat5,/ etc/sysconfig/tomcat5和/ etc/profile但是没有看到任何这样的变量特别是那些与Oracle相关的变量(Base,Home,Ld_lib路径等).Tomcat的bashrc有一些我注释掉的oracle相关变量,但我仍然在jenkins系统信息页面中看到相同的变量.任何指示?
我通过compose命令选项将环境变量传递给我的自定义图像时遇到麻烦:
我的撰写文件:
---
version: '2'
services:
myservice:
image: mycustomimage_lms
environment:
CONF_HOME: /opt/apps-java/
APP_ENV: dev
UUID: me1
command: -Dconfig.home=${CONF_HOME} -Dcomponent.name=LMS -Denv=${APP_ENV} -Duser.dir=/tmp/ -DLMS_UUID=${UUID} -jar /opt/apps-java/my.jar
ports:
- "9060"
volumes:
- ./:/opt/apps-java/
- ./:/var/logs/apps-logs/
- ./:/tmp/data
Run Code Online (Sandbox Code Playgroud)
我的图像只是一个自定义的jre图像,其入口点设置为接受jvm参数的shell脚本.我从enrtypoint调用的run.sh
#!/bin/sh
export JAVA_HOME="/usr/java/latest/"
exec $JAVA_HOME/bin/java $@
Run Code Online (Sandbox Code Playgroud)
我需要在运行时将值传递给命令,因为我可以将我的图像用于许多其他jar并只是将参数更改为我的图像.
这就是我得到的:
$> docker-compose up
WARNING: The CONF_HOME variable is not set. Defaulting to a blank string.
WARNING: The APP_ENV variable is not set. Defaulting to a blank string.
WARNING: The UUID variable is not set. Defaulting to a …
Run Code Online (Sandbox Code Playgroud) 有没有办法在EKS中部署工作节点时添加节点标签.我没有在CF模板中看到工作节点可用的选项.
我现在看到的唯一选项是使用kubectl label命令添加后集群设置的标签.但是,需要具有完全自动化,这意味着在集群部署和标签之后自动部署应用程序有助于实现隔离.
我对Python世界还很陌生.刚刚阅读了一些文档并希望开始使用.
我想设计一个用Python编写的工具,以便从我们的QA团队标记为已解决的JIRA中获取问题,然后在每个版本的基础上显示一个很好的html报告.
我试图理解从Python连接到JIRA的机制,但事情并没有得到澄清.
我已经安装了:jira-python-lib但是当我尝试建立连接时,我会遇到错误.
# /usr/bin/python
from jira.client import JIRA
jira_options={'server': 'https://xxxxxxxx.atlassian.net'}
jira=JIRA(options=jira_options,basic_auth=('xxxxxxx','xxxxxx'))
Run Code Online (Sandbox Code Playgroud)
如果我执行上面的代码,它会给我这个错误消息:
Traceback (most recent call last):
File "test1.py", line 9, in <module>
jira=JIRA(options=jira_options,basic_auth=('*****','****'))
File "C:\Python27\lib\site-packages\jira\client.py", line 88, in __init__
self._create_http_basic_session(*basic_auth)
File "C:\Python27\lib\site-packages\jira\client.py", line 1368, in _create_htt
p_basic_session
hooks={'args': self._add_content_type})
TypeError: session() takes no arguments (2 given)
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我这里我做错了什么吗?
另外,我在JIRA-DOC上找不到有关自动化的任何信息.
有人可以指导这方面的有用文件吗?
发现我需要启用身份验证enableBasicAuth才能使其工作.需要尝试这个.
我需要使用系统调用来编写程序来读取文件,反转字符串并将其打印到输出文件.如果输入文件是test.txt
,则应将输出写入文件reverse_test.txt
.请告诉我如何将字符串附加reverse_
到输出文件的名称,我将在其中写入结果.
我尝试了下面的代码,但它给出了错误.
strcat("reverse_",argv[1]);
Run Code Online (Sandbox Code Playgroud)
我写了其余的代码,它工作正常,但无法解决这一部分.
我需要运行一个系统命令,该命令将转到目录并删除不包含文件的子目录(如果存在).我编写了以下命令来执行此操作:
system("cd /home/faizan/test/cache ; for i in *\; do if [ -d \"$i\" ]\; then echo \$i fi done");
Run Code Online (Sandbox Code Playgroud)
上面的命令不断引发语法错误.我尝试了多种组合,但仍然不清楚这应该如何.请建议.
我注意到一种奇怪的行为,想看看你们是否对我有什么建议。我们正在运行三个 Jenkins 实例:1 X 生产 2 X QA
我们还安装了 email-ext 插件,用于发送电子邮件。我们试图实现的是停止从我们的 QA 服务器生成电子邮件,但我们无法做到这一点。目前,我们无法更改配置,因为我们有一个从产品同步其配置的 cron。所以我们不能在manage-jenkins的主机部分指定一些荒谬的东西。我们的印象是 Jenkins 会使用主机上的 Sendmail/Postfix 等服务来发送电子邮件,但似乎不正确。
我们禁用了电子邮件服务器(sendmail/postfix)将 javamail.jar 重命名为 javamail.jar.bak
但我们仍然不断收到有关构建失败的通知。除了更改配置之外,是否有任何已知的机制可以阻止这些通知?
遇到这段代码:
for entry in $(echo $tmp | tr ';' '\n')
do
echo $entry
rproj="${entry%%,*}"
rhash="${entry##*,}"
remoteproj[$rproj]=$rhash
done
Run Code Online (Sandbox Code Playgroud)
所以我最初明白';' 转换为新行,以便文件中的所有条目都在一个单独的行上.但是,我第一次看到这个:
rproj="${entry%%,*}"
rhash="${entry##*,}"
我确实理解这是在','和逗号'之后的所有内容.但是,这比分裂更有效吗?另外,如果有人请解释语法,因为我无法将其与正则表达式或bash语法相关联.
我无法理解使用python进行yaml解析的特殊行为.我的Yaml文件
- mappings:
xyz:
family: app
image: mine-2-455-1
containerName: image-1
containerPort: 9020
appenv: dev
label: cds-containers
count: 2
Run Code Online (Sandbox Code Playgroud)
码
config = open(confFile)
confParser = yaml.load(config)
taskFamily = str(confParser[2]['mappings']['xyz']['family'])
print taskFamily
imageName = str(confParser[2]['mappings']['xyz']['image'])
print imageName
containerName = str(confParser[2]['mappings']['xyz']['containerName']),
print containerName
Run Code Online (Sandbox Code Playgroud)
yaml非常大,具有相似的值.问题来自输出,
xyz
mine-2-455-1
('image-1',)
Run Code Online (Sandbox Code Playgroud)
不知何故,它认为我的'containerName'值是一个元组,我无法将其传递给ecs boto,因为它需要字符串而不是元组.想知道为什么会发生这种情况以及如何纠正.
我从safeload切换到加载yaml但这似乎没有任何影响.请任何输入.