任何人都可以更全面地向我解释sstate缓存如何在yocto中工作?
这种解释还不清楚.
我不明白何时出现这种情况:
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Running setscene task 118 of 155 (virtual:native:/home/lulianhao/poky-build/edwin/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot_setscene)
NOTE: Running setscene task 119 of 155 (/home/lulianhao/poky-build/edwin/poky/meta/recipes-devtools/quilt/quilt-native_0.48.bb:do_populate_sysroot_setscene)
Run Code Online (Sandbox Code Playgroud)
当它找到工件或得到候选人,然后检查签名.我想知道什么时候setcene任务实际运行.
附加问题:当它在本地sstate_cache文件夹中查找并进入镜像时?
我正在寻找方法来检查哪些jenkins插件没有使用.到目前为止,我发现我可以在config.xml文件中查找带有属性插件的标签,然后将它们与plugins目录中列出的标签进行比较.但这并没有给我完整的清单.还有一些不像角色战略那样.
我使用如下的python代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import glob
from lxml import etree as ET
from collections import defaultdict
def find(name, path):
return glob.glob(path+'/jobs/*/'+name)
def get_plugin_list(path):
return [x[:-4].split('/')[-1] for x in glob.glob(path+'/plugins/*.jpi')]
if __name__ == "__main__":
jobs_dict = defaultdict(list)
plugins_all = set(get_plugin_list('/home/user/.jenkins')
for config in find('config.xml', '/home/user/.jenkins'):
with open(config) as f:
tree = ET.XML(f.read())
plugins = tree.xpath("/project//@plugin")
job = config.split('/')[-2]
for p in plugins:
jobs_dict[p].append(job)
with open('/home/user/.jenkins/config.xml') as …Run Code Online (Sandbox Code Playgroud) 有没有办法在.gitconfig中设置git clone自动添加--recurse-submodules标志?我试着在.gitconfig中添加以下内容:
[fetch]
recurseSubmodules = true
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
$ git clone upstream nowyprojekt2
Cloning into 'nowyprojekt2'...
done.
Run Code Online (Sandbox Code Playgroud)
我需要添加--recurse-submodule标志
$ git clone --recurse-submodule upstream nowyprojekt2
Cloning into 'nowyprojekt2'...
done.
Submodule 'euca2ools' (https://github.com/eucalyptus/euca2ools.git) registered for path 'euca2ools'
Cloning into 'euca2ools'...
remote: Counting objects: 19147, done.
remote: Total 19147 (delta 0), reused 0 (delta 0), pack-reused 19147
Receiving objects: 100% (19147/19147), 22.23 MiB | 450.00 KiB/s, done.
Resolving deltas: 100% (15556/15556), done.
Checking connectivity... done.
Submodule path 'euca2ools': checked out '12c358cd27ff652cb144de124bb5472a74145277'
Run Code Online (Sandbox Code Playgroud)
我的GIT版本:
$ git …Run Code Online (Sandbox Code Playgroud) 通过查看runcmd代码(/usr/lib/python2.6/site-packages/cloudinit/config/cc_runcmd.py),我注意到与其他代码相比没有指定"频率".除了脚本所做的唯一事情是保存在/ var/lib/cloud/instance/scripts/runcmd下作为shell脚本提供的脚本.
因此,如果我详细说明模块,我必须设置频率.
cloud_config_modules:
- mounts
- locale
- set-passwords
- timezone
- [ runcmd, always ]
cloud_final_modules:
- scripts-per-once
- scripts-per-boot
- scripts-per-instance
- [ scripts-user, always ]
- ssh-authkey-fingerprints
Run Code Online (Sandbox Code Playgroud)
并且由这个特定的脚本创建的脚本可以由'scripts-user'运行,所以我需要指定ie
- [ scripts-user, always ]
Run Code Online (Sandbox Code Playgroud)
使runcmd脚本工作
这样做是否正确?文档(至少是当前的0.7.7)缺乏对runcmd和用户脚本的正确解释以及如何使用它们
我也想不明白之间的所有差异的模式,一次(第一次实例启动),实例(???),总是(即我的理解),????启动(即一个存在吗?它似乎并不上班...
编辑:
好的,我在cloudinit/settings.py中找到了:
# Valid frequencies of handlers/modules
PER_INSTANCE = "once-per-instance"
PER_ALWAYS = "always"
PER_ONCE = "once"
Run Code Online (Sandbox Code Playgroud)
在我脚本旁边找到了一个解释:
[root@euca-10-254-97-216 ~]# cloud-init-per -h
Usage: cloud-init-per frequency name cmd [ arg1 [ arg2 [ ... ] ]
run cmd with arguments …Run Code Online (Sandbox Code Playgroud)