社区首页 >问答首页 >在CI作业中生成和使用应用程序密钥的问题

在CI作业中生成和使用应用程序密钥的问题
EN

Stack Overflow用户
提问于 2019-07-23 12:18:22
回答 1查看 688关注 0票数 1

我正在尝试建立一个带有单元测试的早期流水线。在CI工作中,我复制了带有数据库凭证的测试环境文件,并使用php artisan key:generate生成了一个新的应用程序密钥。新密钥的设置没有任何问题,但是phpunit测试抛出了这个异常:RuntimeException: No application encryption key has been specified.

有了预配置的密钥,它就可以正常工作了。即使我在工作中生成了一个新的。

对这种行为有什么想法吗?不得不说,我是CI的新手。

我是我的gitlab runner的执行者。

我最初认为这是一些文件权限的东西,但当它使用预配置的密钥时应该是这样的。所以我几乎一无所知。希望有人能帮我。详情见下文。

以下是管道的输出:

代码语言:javascript
代码运行次数:0
复制
Downloading artifacts for composer (262)...
Downloading artifacts from coordinator... ok        id=262 responseStatus=200 OK token=-A2VMuUf
$ cp .env.testing .env
$ php artisan key:generate
Application key set successfully.
./vendor/bin/phpunit --version
PHPUnit 7.5.13 by Sebastian Bergmann and contributors.

$ ./vendor/bin/phpunit -v -c ./phpunit.xml
PHPUnit 7.5.13 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.2.19 with Xdebug 2.7.2
Configuration: /builds/####/####/phpunit.xml

.E                                                                  2 / 2 (100%)

Time: 234 ms, Memory: 20.00 MB

There was 1 error:

1) Tests\Feature\ExampleTest::testBasicTest
RuntimeException: No application encryption key has been specified.

/builds/####/####/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:44
/builds/####/####/vendor/laravel/framework/src/Illuminate/Support/helpers.php:1124
/builds/####/####/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:48
/builds/####/####/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php:24
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:787
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:667
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:615
/builds/####/####/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:767
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:925
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:853
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:818
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:667
/builds/####/####/vendor/laravel/framework/src/Illuminate/Container/Container.php:615
/builds/####/####/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:767
/builds/####/####/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:215
/builds/####/####/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189
/builds/####/####/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:354
/builds/####/####/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php:170
/builds/####/####/tests/Feature/ExampleTest.php:16

工作目录中的文件列表:

代码语言:javascript
代码运行次数:0
复制
drwxrwxrwx 14 root root   4096 Jul 23 11:47 .
drwxrwxrwx  4 root root   4096 Jun  6 09:20 ..
-rw-rw-rw-  1 root root    213 Jul 23 07:41 .editorconfig
-rw-r--r--  1 php  php     792 Jul 23 11:47 .env
-rw-rw-rw-  1 root root    739 Jul 23 07:41 .env.example
-rw-rw-rw-  1 root root    741 Jul 23 11:43 .env.testing
drwxrwxrwx  6 root root   4096 Jul 23 11:47 .git
-rw-rw-rw-  1 root root    111 Jun  6 09:20 .gitattributes
-rw-rw-rw-  1 root root    165 Jul 23 07:41 .gitignore
-rw-rw-rw-  1 root root   2121 Jul 23 11:46 .gitlab-ci.yml
-rw-rw-rw-  1 root root   1255 Jul 23 07:41 .php_cs
-rw-rw-rw-  1 root root     15 Jul 23 07:41 .prettierignore
-rw-rw-rw-  1 root root    120 Jul 23 07:41 .prettierrc
-rw-rw-rw-  1 root root    174 Jul 23 07:41 .styleci.yml
-rw-rw-rw-  1 root root    971 Jun 18 07:56 CONTRIBUTING.md
drwxrwxrwx  6 root root   4096 Jul 23 07:41 app
-rw-rw-rw-  1 root root   1686 Jun  6 09:20 artisan
drwxrwxrwx  3 root root   4096 Jul 23 07:41 bootstrap
-rw-rw-rw-  1 root root   1736 Jul 23 07:41 composer.json
-rw-rw-rw-  1 root root 186367 Jul 23 07:41 composer.lock
drwxrwxrwx  2 root root   4096 Jul 23 07:41 config
drwxrwxrwx  5 root root   4096 Jul 23 07:41 database
-rw-rw-rw-  1 root root 426220 Jul 23 07:41 package-lock.json
-rw-rw-rw-  1 root root   1304 Jul 23 07:41 package.json
-rw-rw-rw-  1 root root   1156 Jul 23 07:41 phpunit.xml
drwxrwxrwx  4 root root   4096 Jul 23 11:01 public
drwxrwxrwx  6 root root   4096 Jul 23 07:41 resources
drwxrwxrwx  2 root root   4096 Jul 23 07:41 routes
-rw-rw-rw-  1 root root    572 Jul 23 07:41 server.php
drwxrwxrwx  5 root root   4096 Jun  6 09:20 storage
drwxrwxrwx  4 root root   4096 Jul 23 07:41 tests
drwxr-xr-x 42 php  php    4096 Jul 23 11:46 vendor
-rw-rw-rw-  1 root root    538 Jul 23 07:41 webpack.mix.js
-rw-rw-rw-  1 root root 202971 Jul 23 07:41 yarn.lock

现有.env-File的内容:

代码语言:javascript
代码运行次数:0
复制
APP_NAME=####
APP_ENV=testing
APP_KEY=base64:W99w+5JYz8SVGf5sx17gmPR6uoNCtWiEVc+9qu8iGEg=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=pgsql
DB_HOST=postgres
DB_PORT=5432
DB_DATABASE=####
DB_USERNAME=####
DB_PASSWORD=####

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
SESSION_LIFETIME=120
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-25 06:13:33

问题是phpunit会自动使用测试环境(APP_ENV必须是测试环境)。

php artisan key:generate --env=testing确实解决了这个问题。

以防其他人遇到这个问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57164055

复制
相关文章
IDEA配置,自动将less文件转化为.css文件并压缩为.min.css文件
在idea插件市场中 搜索 Files Watcher 并安装,安装完成后重启 idea
Neil223
2022/07/23
1.3K0
【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )
CSS 全称 Cascading Style Sheets , 层叠样式表 ; 作用如下 :
韩曙亮
2023/03/30
4.8K0
【CSS】CSS 层叠样式表 ① ( 简介 | CSS 引入方式 - 内联样式 | 内联样式语法 | 内联样式缺点 )
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
在Linux操作系统中,可以使用各种命令和工具来处理和转换文本文件。当需要将以逗号分隔的CSV文件转换为以制表符分隔的TSV文件时,可以使用一些简单的命令和技巧来实现。本文将详细介绍如何在Linux中将CSV文件转换为TSV文件。
网络技术联盟站
2023/06/20
1.1K0
如何在 Linux 中将 CSV 文件转换为 TSV 文件?
如何在 React TypeScript 中将 CSS 样式作为道具传递?
React 是一种流行的 JavaScript 库,用于构建动态用户界面。最近,它与 TypeScript 的结合变得越来越流行。由于 TypeScript 的静态类型检查和更好的 IDE 支持,它使得使用 React 更加容易和可维护。当开发 React 应用程序时,我们通常需要使用 CSS 样式来渲染组件。本文将介绍如何在使用 React TypeScript 时,将 CSS 样式作为道具(Props)传递给组件。
网络技术联盟站
2023/06/07
2.2K0
CSS 块元素、内联元素、内联块元素
元素就是标签,布局中常用的有三种标签,块元素、内联元素、内联块元素,了解这三种元素的特性,才能熟练的进行页面布局。
Devops海洋的渔夫
2019/05/31
3.9K0
外部css文件调用
1 <link rel="stylesheet" href="body.css" type="text/css"> 2   <body> <div class="left">    <p><a href="index.jsp">上传文件</a></p>    <p><a href="download.jsp">下载文件</a></p>    <p><a href="rename.jsp">修改文件名</a></p>    <p><a href="delete.jsp">删除文件</a>
闵开慧
2018/03/30
2.6K0
Webpack打包CSS文件
output是输出文件的文件名,和输出到什么位置,__dirname是用来动态获取当前文件所属目录的绝对路径,后面的build是我的一个文件夹,这个你们填自己的就好
小丞同学
2021/08/16
1K0
CSS文件夹
  网上冲浪时发现的瑰宝,特别适合刚学习过 transform 的同学拿来练习,也比较适合前端大能拿来复习CSS 。素材来源于 “ 站长之家 ”
我不是费圆
2020/10/10
1.2K0
CSS文件夹
使用express框架,如何在ejs文件中导入外部的js、css文件
最近在用nodejs写一点东西,当然也用到了express框架和ejs模版了。在使用ejs模版的过程中遇到了这个问题:如何在ejs模版中导入外部的js、css文件。
acoolgiser
2019/04/18
6.4K0
使用express框架,如何在ejs文件中导入外部的js、css文件
外部css文件引入失效
好久没有写过前端代码了,有次引入bootstrap css文件在浏览器却没有获取到css文件,检查下文件路径没错,也不存在权限问题,后来仔细看了下自己引入css文件的link,发现少了东西。以下是原来写的代码:
全栈程序员站长
2021/05/19
2.4K0
WordPress 主题教程 #9:Style.css 和 CSS 介绍
Style.css 和 CSS 介绍是从零开始创建 WordPress 主题系列教程的第九篇,学习 CSS 最好的方法就是去使用它,不像 XHTML 和 PHP 需要接触模板的核心文件,同样不要需要理解任何基本概念,只要去用它,通过试用和修正错误是可以让你快速学会。
Denis
2023/04/15
7740
WordPress 主题教程 #9:Style.css 和 CSS 介绍
如何在Linux中将文本内容追加到文件末尾?
在Linux中处理配置文件时,有时您需要将诸如配置参数之类的文本附加到现有文件中。追加只是意味着将文本添加到文件的末尾。
用户6543014
2020/03/06
14.6K0
如何在Linux中将文本内容追加到文件末尾?
使用express框架开发,如何在ejs文件中导入外部的js、css文件
首先看一下这篇文章: https://blog.csdn.net/MPFLY/article/details/78134980
acoolgiser
2019/04/18
9.9K0
使用express框架开发,如何在ejs文件中导入外部的js、css文件
如何在vue组件中引入外部的css和js文件[通俗易懂]
在使用vue框架开发时,我们都知道一个组件中可以同时写HTML、css、js代码,只需三个标签而已,如下:
全栈程序员站长
2022/11/09
8.8K0
JS动态添加/删除css文件
Jensen_97
2023/07/20
6400
html CSS引用字体文件
有的网站字体,用户电脑上没有,如果只是单纯的定义 font-family 是不起效的。
德顺
2019/11/13
6.4K0
【工具】fis3 - 语法教程(1)之资源嵌入
需要注意的是,在组件化开发方面,fis是不建议使用“资源嵌入”的方式作为组件化拆分的手段,后面讲到的“声明依赖”能力会更适合组件化开发。
前端修罗场
2023/10/07
1430
Django静态文件(CSS,JS等)
静态文件是指js,css,图片等文件。render可以返回模板文件(HTML),但是缺少了js,css。在Django中我们一般会指定一个目录存放静态文件,这样方便管理。在现在前后端分离的大环境之下,静态文件我们几乎也用不到。另外在HTML中调用的时候也需要指定静态文件的路径。一般都会将静态文件放置在项目的根目录下。要使用静态文件,需要配置两个参数。
zy010101
2021/10/09
2.8K0
Django静态文件(CSS,JS等)
Bear CSS:基于 HTML 文件快速创建基本的 CSS 样式
当你创建一个网页的时候,一般会先创建 HTML 文件,然后在写 CSS 样式,当然也可以一边写 HTML 结构,一遍写样式。如果你是采用第一种方法,那么你在写 CSS 样式的时候,会很烦,因为要复制粘贴 class 和 id 名,其实可以通过 Bear CSS 这个服务,基于现有的 HTML 创建基本的 CSS 样式:
Denis
2023/04/14
1K0
Bear CSS:基于 HTML 文件快速创建基本的 CSS 样式
Nuxt.js 开发SSR(服务端渲染)Web应用
Nuxt.js 能够胜任 VuePress 的功能,但它专为构建应用程序而设计,而 VuePress 更适合构建以内容为中心的静态站点,如技术文档,博客等。
我是一条小青蛇
2019/10/23
3.1K0
Nuxt.js 开发SSR(服务端渲染)Web应用

相似问题

输出css文件而不是内联

10

角度加载<style></style>标记,而不是css文件

10

重写CSS文件中的内联CSS,而不是!重要

40

而不是内联CSS

222

有没有使用<style>文件而不是css文件的情况?

217
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文