如何在“create_profile”阶段计算变量,然后在下一阶段“trigger_upload”中接管该变量。
我的第二个管道“git-project/profile-uploader”在“trigger_upload”阶段触发,应该获取此变量。
这是我目前的方法:
---
variables:
APPLICATION_NAME: "helloworld"
APPLICATION_VERSION: "none"
create_profile:
stage: build
script:
# calculate APPLICATION_VERSION
- APPLICATION_VERSION="0.1.0"
- echo "Create profile '${APPLICATION_NAME}' with version '${APPLICATION_VERSION}'"
artifacts:
paths:
- profile
trigger_upload:
stage: release
variables:
PROFILE_NAME: "${APPLICATION_NAME}"
PROFILE_VERSION: "${APPLICATION_VERSION}"
trigger:
project: git-project/profile-uploader
strategy: depend
Run Code Online (Sandbox Code Playgroud)
目前,管道“git-project/profile-uploader”按预期获取 PROFILE_NAME“hello world”,而 PROFILE_VERSION 的值为“none”。PROFILE_VERSION 的值应为“0.1.0” - 在“create_profile”阶段计算。
是否可以全局定义何时执行阶段的规则?只有当它们不同时,它们才会像我的示例中那样在各自的阶段中定义?
[gitlab-ci.yml]
linter1:
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
when: always
- when: never
linter2:
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
when: always
- when: never
validate:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: on_success
- when: never
deploy:
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: on_success
- when: never
Run Code Online (Sandbox Code Playgroud) 我有一个 Win32 程序,我想在其中添加一些 winRT 调用。除其他外,我想打开一个没有 GUI 界面的文件。
我使用来自 StorageFile 类的异步文件打开调用,因为下一个调用需要一个 IStorageFile 接口。
#include <roapi.h>
#include <winrt/Windows.Storage.h>
#include <winrt/Windows.Foundation.h>
void openFile()
{
using namespace winrt;
using namespace winrt::Windows::Foundation;
using namespace winrt::Windows::Storage;
HRESULT rtn = RoInitialize(RO_INIT_MULTITHREADED);
winrt::hstring path{ L"C:\\Users...\\mytextfile.txt"};
//wait for open the file
auto file = co_await StorageFile::GetFileFromPathAsync(path);
//IStorageFile interface needed
}
int main()
{
openFile();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
目前,编译器抱怨 co_await 表达式需要一个合适的“await_ready”函数,但没有找到。
我不确定是否是由于缺少标头包含或在 win32 应用程序中无法使用“co_await”而导致的这种情况。
编辑:我的 Visual Studio 项目设置是: - 使用 c++17,将 cppwinrt.exe 添加到我的包含目录,链接到 windowsapp.lib 并使用 windows sdk 版本 10.0.17134.0。
我的包依赖于另一个 git 存储库。我当前的 setup.py 文件如下:
#!/usr/bin/env python
# coding: utf-8
from setuptools import setup, find_packages
setup(
name='myapp',
url='git@ssh.xxxxx/dummy/myapp.git',
packages=find_packages(),
install_requires = [
'base @ git+ssh://git@ssh.xxxx/dummy/base.git'
]
)
Run Code Online (Sandbox Code Playgroud)
当我运行命令“pip3 install . --user”来执行 setup.py 文件时,基本模块安装在 userbase/lib/python3.6/site-packages 中,但该模块不是我的基本模块。运行 pip3 install 命令后控制台中的第一行是
Collecting base@ git+ssh://git@ssh.xxxx/dummy/base.git (from myapp==0.0.0)
Downloading https://files.pythonhosted.org/packages/1b/e5/464fcdb2cdbafc65f0b2da261dda861fa51d80e1a4985a2bb00ced080549/base-1.0.4.tar.gz"
Installing collected packages: base, myapp
Run Code Online (Sandbox Code Playgroud)
在我看来,pip3正在安装另一个基本模块,因为下载路径不是我的git路径。之后,站点包中的基本文件夹包括“taobao.py”和“seo.py”文件等文件。
是否可以选择 pip3 安装我的基础模块而不是另一个基础模块?
我使用的是 pip 19.03。
如何确定是使用AVC标准还是附件B标准对MP4或MOV H.264视频文件的视频字节流进行了解码?两种标准都可以从0x000001开始其NALU。
在附件B标准中,每个NALU都以起始码0x000001或0x00000001开头。在AVC标准中,长度字段也可以是0x00000134。MP4文件中是否还有其他信息可以提示我,开始字节(0x00000134)是AVC标准的长度字段,而不是附件B标准视频的开始代码0x000001?
在我的特定示例中,我的MP4视频文件具有AVC标准,而我的MOV文件具有附件B标准。两者都将“ NALULengthSizeMinusOne”字段设置为值4。
在检查 shell 脚本时如何删除 shellcheck 的警告“SC2154”?
#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
echo "proxy=$http_proxy" | sudo tee -a /etc/test.txt
Run Code Online (Sandbox Code Playgroud)
警告是“SC2154:引用了 http_proxy 但未分配。”
编辑:我想使用 sudo 将环境变量“http_proxy”写入 test.txt 文件。