我需要循环 Ansible 角色并保存迭代的索引。
我的目标是在每次迭代中使用 my-role 中的数字(在本例中为 INDEX)。我的角色执行其他剧本,我需要每次迭代的 INDEX 值。我想在另一个 ansible-playbook 中使用该索引。所以我的计划是设置一个环境变量以从其他剧本中读取。
这是我的代码:
- name: my-role
with_sequence: 'start=0 end={{ number_of_users|int }}'
include_role:
name: my-role
vars:
user_name: '{{ user_temp[item|int] }}'
queue_name: '{{ queue_temp[item|int] }}'
lineinfile:
dest: "/etc/environment"
state: present
line: 'export INDEX=[item|int]'
Run Code Online (Sandbox Code Playgroud)
显然我不能同时做两个陈述。
错误信息是:
错误!冲突的操作语句:include_role、lineinfile
有没有办法在循环角色时设置环境变量?
我有个问题.我在Jmeter中使用正则表达式提取器.我有两个正则表达式.
我可以从中获得价值.
Reference Name: as_fid_addtobasket
Regular Expression: <input type="hidden" name="as_fid" value="(.+?)" />
Template: $1$
Run Code Online (Sandbox Code Playgroud)
但我无法从这一点获得价值.
> Reference Name: DynamicTempOrderProductGuid
>
> Regular Expression: <input data-val="true" data-val-required="The
> TempOrderProductGuid field is required."
> id="OrderProducts_1__TempOrderProductGuid"
> name="OrderProducts[1].TempOrderProductGuid" type="hidden"
> value="(.+?)" />
>
> Template: $1$
> >
Run Code Online (Sandbox Code Playgroud)
这是我的结果.第二个没有得到价值.我错过了哪里?
POST数据:OrderProducts.index = 1&OrderProducts%5B1%5D.TempOrderProductGuid =%24%7BDynamicTempOrderProductGuid%7D&OrderProducts%5B1%5D.Count = 1&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.NameRec = Test + ama%C3%A7l%C4% B1D%C4%B1R.+ L%C3%BCtfen + dikkate +爱尔美%C4%B1n的%C4%B1z&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.PhoneRec = 05352233285&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.OSSendingReason =&OrderProducts%5B1 %5D.ReceiverModel.OrderReceiver.OSReceiverAddressType =&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.CompanyNameRec =&OrderProducts%5B1%5D.ReceiverModel.OrderReceiver.AddressLineRec =测试+ AMA%C3%A7l%C4%B1D%C4%B1R.+ L&C3%BCtfen + dikkate +爱尔美%C4%B1n的%C4%B1z&OrderProducts%5B1%5D.ProductCode = se213&OrderProducts%5B1%5D.TempOrderProductGuid =%24%7Btokentoken%7D&totalProducts = 1&as_fid = efWZ0i4RGLmC2nBWk%2FA1
我想将CSV文件导出到datagridview.我需要创建文件schema.ini.但我不知道,我怎么能创造它呢?
有我的代码:
public DataTable exceldenAl(string excelFile)
{
try
{
string fileName = Path.GetFileName(excelFile);
string pathOnly = Path.GetDirectoryName(excelFile);
string cmd = "Select * From [" + fileName + "$]";
string cnstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + pathOnly + "\\;Extended Properties=\"Text;HDR=Yes;FORMAT=Delimited\"";
OleDbConnection ocn = new OleDbConnection(cnstr);
ocn.Open();
OleDbCommand command = new OleDbCommand(cmd,ocn);
OleDbDataAdapter adap = new OleDbDataAdapter(command);
DataTable dt = new DataTable();
dt.Locale = CultureInfo.CurrentCulture;
adap.Fill(dt);
return dt;
}
finally {
}
}
private void btnExcelReader_Click(object sender, EventArgs e) …Run Code Online (Sandbox Code Playgroud) 我在将 docker 映像推送到我的私有 GCP 注册表时遇到问题。我从 Google Cloud Platform 创建了一个具有所有者角色的新服务帐户。然后,我创建了一个服务密钥,并将 json 文件的内容(从服务帐户下载)复制到 Gitlab CI/CD 变量的 $GCP_SERVICE_KEY 变量中。
这是我的.gitlab-ci.yaml文件:
image: python:3.6
stages:
- push
before_script:
- mkdir -p $HOME/.docker
- echo "$GCP_SERVICE_KEY" >> "$HOME/.docker/config.json"
dockerpush:
stage: push
image: docker:stable
services:
- docker:dind
script:
- docker build --build-arg MONGODB_URI=$MONGODB_URI -t my_image_name .
- docker login -u _json_key --password-stdin https://gcr.io < $HOME/.docker/config.json
- docker tag my_image_name eu.gcr.io/my_project_id/my_image_name
- docker push eu.gcr.io/my_project_id/my_image_name
Run Code Online (Sandbox Code Playgroud)
当我检查控制台日志时,我看到“登录成功”。但我无法推送到我的 GCP 注册表。我检查了项目 ID、用户的角色,一切似乎都正常。但为什么我仍然看到“未经授权”的错误?
$ docker login -u _json_key -p "$GCP_SERVICE_KEY" …Run Code Online (Sandbox Code Playgroud) continuous-integration push docker google-cloud-platform gitlab-ci