标签: laravel-envoy

Laravel Envoy:错误中止

是否可以在命令失败时中止错误或调用其他任务?

这不起作用:

@task('migrate', ['on' => 'web'])
    cd {{ $currentReleaseDir }};
    php artisan migrate || exit 1;
@endtask
Run Code Online (Sandbox Code Playgroud)

它失败了消息(我知道我可以运行--force,这只是让命令失败以进行测试的一种方法):

**************************************
*     Application In Production!     *
**************************************
Run Code Online (Sandbox Code Playgroud)

但随后它继续运行部署脚本的其余部分.

laravel laravel-envoy laravel-5.1

8
推荐指数
1
解决办法
909
查看次数

如何使用tty运行Envoy任务?

我正在使用Laravel的Envoy库进行部署.当我到达部署结束时,我需要更改一堆文件的所有权; 为了做到这一点,我需要切换到root用户,因为chownchmod没有作为非特权用户的工作.

如何让Envoy使用tty运行特定服务器以便它sudo chown ...可以工作?

这是我的Envoy.blade.php文件的链接.

sudo tty laravel-envoy

6
推荐指数
1
解决办法
422
查看次数

在执行Laravel Envoy任务时如何在bash中访问声明的变量?

我有简单的特使设置.服务器:

@servers(['ws' => 'ws.sk'])
Run Code Online (Sandbox Code Playgroud)

......和简单的"ping"任务:

@task('ping-ws', ['on' => 'ws'])
    echo "Hello world from WS server!"
    echo $(pwd)
    pwd
    var_1="Hello"
    echo "${var_1}"
@endtask
Run Code Online (Sandbox Code Playgroud)

我想在哪里为变量赋值并稍后访问它们.虽然结果很意外:

envoy run ping-ws
Hello world from WS server!
/Users/davidlukac/dev/drupal/_devdesktop/davidlukac
/home
Run Code Online (Sandbox Code Playgroud)
  1. $(pwd)命令在本地进行评估.
  2. 变量var_1未分配,或在下一行超出范围.

这是预期的行为吗?它有解决方法吗?

谢谢您的帮助!

php bash laravel laravel-envoy

6
推荐指数
1
解决办法
612
查看次数

如何将参数或参数传递给Laravel Envoy任务

我正在一个laravel项目中使用docker-compose,该项目用于本地开发环境,并且正在尝试通过laravel / envoy缩短用于安装作曲家依赖项和工匠的命令。这是到目前为止我们所做的一个示例:

@task('composer-require')
   docker-compose exec -u 1000 web composer require {{ $package }}
@endtask
Run Code Online (Sandbox Code Playgroud)

并按如下使用 envoy run composer-install --package=xxx/yyy

现在我们的Envoy.blade.php文件越来越大,因为我们必须将每种用法作为一项任务,并且必须记住所有这些名称。

我想知道是否有可能,我们如何接受这样的命令envoy run composer install xxx/yyy,仅定义一个名为的任务composer,然后传递install xxx/yyy零件?

关于我的英语很抱歉

php laravel docker-compose laravel-envoy

5
推荐指数
1
解决办法
745
查看次数

Laravel Envoy设置任务未成功完成

我正在尝试使用GitLab和Docker设置部署,但无法通过有关Envoy设置的官方Laravel文档中的初始设置。出于某些奇怪的原因,我无法通过房东与Envoy连接。

我正在关注本教程。任何帮助表示赞赏。我的房东可能有问题吗?我在本地计算机上运行命令。

envoy run list
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

[?]此任务未在您的一台服务器上成功完成。

我的SSH登录有效,所以我没主意

Envoy.blade.php

@servers(['web' => 'MY HOST HERE'])
@task('list', ['on' => 'web'])
    ls -l
@endtask
Run Code Online (Sandbox Code Playgroud)

ubuntu laravel gitlab docker laravel-envoy

5
推荐指数
1
解决办法
402
查看次数

Envoy Task Runner:运行需要 sudo 访问权限的命令

我使用https://laravel.com/docs/5.4/envoy作为部署工具。在 Envoy.blade.php 中,我有需要 sudo 访问的命令,例如:-

chmod 777 -R storage/
chmod 777 -R bootstrap/cache
Run Code Online (Sandbox Code Playgroud)

这些命令失败并显示错误,指出操作不允许。我们该如何解决这个问题?

ssh laravel-5 laravel-envoy ubuntu-16.04

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

通过持续交付通过GitLab CI部署Laravel应用程序时是否需要Laravel Envoy?

我正在将持续集成实现到我的Laravel工作流程中,并且在基本学习过程中,我在Gitlab上遇到了一个示例项目,其中(1.)Laravel Envoys用于编写与应用程序的部署方式有关的任务,然后与(2.)使用Gitlab CI引导过程。

我有些困惑,在我看来,使用Enovy定义任务的部分(波纹管)在定义.gitlab-ci.yml文件内的作业时很容易复制,这使Envoy的使用变得多余:

 ...

    @setup
        $repository = 'git@gitlab.example.com:<USERNAME>/laravel-sample.git';
        $releases_dir = '/var/www/app/releases';
        $app_dir = '/var/www/app';
        $release = date('YmdHis');
        $new_release_dir = $releases_dir .'/'. $release;
    @endsetup

    ...

    @task('update_symlinks')
        echo "Linking storage directory"
        rm -rf {{ $new_release_dir }}/storage
        ln -nfs {{ $app_dir }}/storage {{ $new_release_dir }}/storage

        echo 'Linking .env file'
        ln -nfs {{ $app_dir }}/.env {{ $new_release_dir }}/.env

        echo 'Linking current release'
        ln -nfs {{ $new_release_dir }} {{ $app_dir }}/current
    @endtask

   ...
Run Code Online (Sandbox Code Playgroud)

如果有人错误地纠正了我,或者解释了Envoy可以为Gitlab Continuous Integration工作流程带来的好处,我将不胜感激。

linux continuous-integration laravel gitlab laravel-envoy

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

Envoy 的 Jwt 验证失败

我有一个 Laravel(Lumen) 登录 API,它使用 HS256 生成 JWT。然后我将不记名令牌发送到 Envoy Gateway 并从 Envoy 获取

JWT验证失败

在官方 JWT 解码网站上,我可以成功解码并验证我的不记名令牌。在这里我生成我的 JWT:

{
    $payload = [
        'iss' => config('app.name'),                  // Issuer vom Token
        'sub' => strval($user->ID),                       // Subject vom Token
        'username' => $user->username,
        'iat' => time() - 500,                            // Time when JWT was issued.
        'exp' => time() + config('jwt.ttl'),         // Expiration time
        'alg' => 'HS256',
        'kid' => 'ek4Z9ouLmGnCoezntDXMxUwmjzNTBqptKNkfaqc6Ew8'
    ];
    $secretKey = 'helloworld'; //my base64url

    $jwtEnc = JWT::encode($payload, $secretKey, $payload['alg'], $payload['kid']);

    return $jwtEnc;
}
Run Code Online (Sandbox Code Playgroud)

这是我的 Envoy …

jwt lumen laravel-envoy jwk envoyproxy

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

部署时无法运行迁移。Laravel 5.2

为特使考虑以下任务:

@task('deploy', ['on' => 'web'])
    cd personal_site
    php artisan down
    git pull origin master
    composer install
    php artisan migrate
    php artisan up
@endtask

php artisan migrate // Blows up
Run Code Online (Sandbox Code Playgroud)

错误是:

[user@xxxx]: **************************************
*     Application In Production!     *
**************************************
[user@xxxx]: Command Cancelled!
[user@xxxx]: Application is now live.
Run Code Online (Sandbox Code Playgroud)

deployment laravel laravel-5 laravel-envoy laravel-5.2

2
推荐指数
1
解决办法
463
查看次数

隐藏 Composer 安装命令的输出

有没有办法隐藏命令的输出composer install

\n\n

我为 Laravel 应用程序运行一个部署脚本,当它打印数百行时,输出很混乱:

\n\n
    \n
  • 正在安装应用程序/包 (v1.2.1),\n从缓存加载,\netc。ETC。
  • \n
\n\n

据我所知,似乎没有\xe2\x80\x99t 隐藏输出的标志。有什么建议吗?

\n

php laravel composer-php laravel-envoy

2
推荐指数
1
解决办法
2237
查看次数

Laravel“特使运行”命令不适用于SSH密钥

我在laravel项目文件夹中运行以下命令,并得到以下错误。

rakib$ envoy run list --env=production
[ubuntu@54.187.123.4]: Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

但是我可以使用以下命令成功ssh:

ssh -i ~/.ssh/sw-new.pem ubuntu@54.187.123.4
Run Code Online (Sandbox Code Playgroud)

我的〜/ .ssh / config文件内容如下所示:

Host 54.187.123.4
    IdentityFile ~/.ssh/sw-new.pem
Run Code Online (Sandbox Code Playgroud)

谁能建议我出现“权限被拒绝”错误的可能原因是什么?

ssh laravel laravel-envoy

0
推荐指数
1
解决办法
3362
查看次数