小编Ale*_*dru的帖子

如何将 Terraform 输出变量保存到 Github Action 的环境变量中

我的项目使用 Terraform 来设置 CI/CD 的基础设施和 Github Actions。运行后,terraform apply我想将 Terraform 输出变量的值保存为 Github Action 环境变量,以供工作流程稍后使用。

根据 Github Action 的文档,是使用工作流命令创建或更新环境变量的方法。

这是我简化的 Github Action 工作流程:

name: Setup infrastructure
jobs:
  run-terraform:
    name: Apply infrastructure changes
    runs-on: ubuntu-latest
    steps:
      ...
      - run: terraform output vm_ip
      - run: echo TEST=$(terraform output vm_ip) >> $GITHUB_ENV
      - run: echo ${{ env.TEST }}
Run Code Online (Sandbox Code Playgroud)

当本地运行时,命令echo TEST_VAR=$(terraform output vm_ip)输出准确TEST="192.168.23.23",但从 Github Action CLI 输出中我得到一些非常奇怪的东西:

在此输入图像描述

我尝试过使用单引号、双引号。在某些时候我改变了策略并尝试使用jq. 因此,我添加了以下步骤,以便将所有 Terraform 输出导出到 json 文件并使用以下命令解析它jq

- …
Run Code Online (Sandbox Code Playgroud)

continuous-integration json environment-variables terraform github-actions

7
推荐指数
2
解决办法
8213
查看次数

修复 Github Actions 中 Docker Compose 中的“恐慌:提供的文件不是控制台”

概括:

\n

我尝试使用 Github Actions 在 Docker 容器内执行命令,但不断收到以下错误:

\n

恐慌:提供的文件不是控制台

\n

细节

\n

我有一个在 PHP 和 Docker 上运行的 Web 应用程序,我正在使用 Github Action 来构建和部署它。为了安装应用程序的依赖项,我需要composer install从 PHP 容器内运行。过去,此工作流程可以完美运行,但现在开始抛出此错误。

\n

我已经设法消除噪音并将问题减少到本质,但我不知道下一步该怎么做才能解决它。我似乎无法在 PHP 容器内执行任何命令。

\n

我在本地没有任何问题。Github Actions 似乎使用 Docker Compose 版本 2.2.3+azure-1。

\n

我已经尝试通过运行 Nginx 容器... exec nginx date,错误是相同的。

\n

我已经切换到docker-compose而不是docker compose现在我得到了the input device is not a TTY

\n

有人能告诉我出了什么问题吗?

\n

构建工作流.yaml

\n
name: Build application\non:\n  workflow_dispatch:\n    inputs:\n      app_env:\n        description: Environment\n        required: true\n        default: …
Run Code Online (Sandbox Code Playgroud)

php github docker docker-compose github-actions

7
推荐指数
1
解决办法
1946
查看次数

如何在命令行中查看本地服务器中的git pull请求?

我正在运行一个本地git服务器,我只是想知道,有没有办法看到开发人员提出的所有拉取请求?与Github或Bitbucket类似,但在命令行中.

谢谢

https://git-scm.com/docs/git-request-pull

git pull pull-request

3
推荐指数
3
解决办法
1万
查看次数

如何克隆全局 WP_Query 对象并仅更改一个参数?

我在我的 WordPress 安装中添加了一个新的post_type帖子,我想查询这些帖子并循环使用它们。问题是我必须手动构建参数,具体取决于它是类别页面还是标签页面等。

有没有办法重用已经可用的全局 WP_Query 对象,修改参数post_type并运行查询?

这就是我想避免的:

$query = array(
  'post_type' => 'vehicle',
);

if( is_category() ){
  $query['category_name'] = get_query_var('category_name')
}

if( is_category() ){
  $query['category_name'] = get_query_var('category_name')
}

if( is_tag() ){
  $query['tag'] = get_query_var('tag')
}


// ... and so on

$loop = new WP_Query($query);
Run Code Online (Sandbox Code Playgroud)

我不想使用该pre_get_posts方法,因为这样做会改变用于网站其余部分的全局查询。

php wordpress

3
推荐指数
1
解决办法
1852
查看次数

如何从 Laravel 的 Mail MessageSending 事件中检索收件人的电子邮件地址?

如您所知,Laravel在要发送电子邮件时会触发MessageSending事件。我添加了一个侦听器来侦听此特定事件。

不幸的是,我无法确定侦听器句柄方法内的收件人电子邮件地址。我能得到的唯一论据是 Swift Mailer 消息。

您知道我可以在侦听器的处理方法中检索收件人电子邮件地址的方法吗?

php email events swiftmailer laravel

3
推荐指数
1
解决办法
1647
查看次数