小编sam*_*cos的帖子

CircleCI权限拒绝运行bash脚本

我有一个circle.yml这样的文件:

dependencies:
  override:
    - meteor || curl https://install.meteor.com | /bin/sh

deployment:
  production:
    branch: "master"
    commands:
      - ./deploy.sh
Run Code Online (Sandbox Code Playgroud)

当我推送到Github时,我收到错误:

/home/ubuntu/myproject/deploy.sh returned exit code 126

bash: line 1: /home/ubuntu/myproject/deploy.sh: Permission denied Action failed: /home/ubuntu/myproject/deploy.sh
Run Code Online (Sandbox Code Playgroud)

当我运行deploy.sh文件外部的命令(下commands)时,一切运行正常.

circle.yml文件中的所有内容似乎都与CircleCI文档中的示例一致.我做错了什么?

bash circleci

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

通过CLI为AWS DynamoDB put-item提供的无效类型(unicode v.dict)

我想通过命令行向DynamoDB表添加一个项目,但是我遇到了类型错误.

我想要添加的数据非常简单:

{
  "id": "1"
}
Run Code Online (Sandbox Code Playgroud)

我正在运行的命令同样简单:

aws dynamodb put-item --table-name my_table --item '{ "id": "1" }'
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

Invalid type for parameter Item.id, value: 1, type: <type 'unicode'>, valid types: <type 'dict'>
Run Code Online (Sandbox Code Playgroud)

我来自JavaScript背景,所以我不熟悉dict类型.根据我从我读过的一些资料中理解,这是一个Python的东西?如何将我的数据更改为DynamoDB可以处理的内容?

amazon-web-services amazon-dynamodb aws-cli

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

如何在CloudWatch中将值传递给Lambda函数?

以从CloudWatch计时器处理ping的方式包装函数的最佳方法是什么?例如,采用下面的lambda函数:

export const fn = (event, context, callback) => {
  const { year, make, model, } = event.queryStringParameters

  return otherFn({ year, make, model, })
    .then(res => response(callback, res))
    .catch(err => console.log(err))
}
Run Code Online (Sandbox Code Playgroud)

如果我ping函数,它将会出错,因为CloudWatch请求中没有queryStringParameters.从技术上讲,这仍然可以保持Lambda函数的温暖(这是我的目标),但我不想有一个不必要的错误列表.

我注意到CloudWatch允许您包含(可能)传递给Lambda函数的输入:

配置输入

包装上面的函数以便它可以接受ping的最聪明的方法是什么?理想情况下它看起来像这样:

export const fn = (event, context, callback) => {
  if (event.ping) return ping(callback) // the ping function is an import to stay DRY
  const { year, make, model, } = event.queryStringParameters

  return otherFn({ year, make, model, })
    .then(res => response(callback, res))
    .catch(err => console.log(err))
} …
Run Code Online (Sandbox Code Playgroud)

lambda amazon-web-services amazon-cloudwatch aws-lambda serverless-framework

14
推荐指数
1
解决办法
8291
查看次数

是否可以保持AWS Lambda功能的温暖?

我的应用程序中有一些部分无法承受由Lambda功能在新的或未使用一段时间后经历的"冻融"循环引起的额外1-2秒延迟.

如何保持这些Lambda函数的温暖,以便AWS不必一直重新配置它们?这适用于1)不经常使用的功能和2)最近部署的功能.

理想情况下,有一个我错过的设置称为"保持温暖",这增加了Lambda函数的成本,但始终保持函数温暖并准备响应,但我很确定这不存在.

我想一个选择是使用CloudWatch计时器来经常ping这些函数......但这对我来说是错误的.此外,我不知道AWS用于将Lambda函数置于冰上的时间间隔.

amazon-web-services aws-lambda serverless-framework

12
推荐指数
2
解决办法
3671
查看次数

使用Lerna和React Native?

是否可以使用Lerna(lernajs.io)和React Native?我正在尝试使用以下结构创建新项目:

MyApp
  packages
    myapp-core
    myapp-mobile
    myapp-web
Run Code Online (Sandbox Code Playgroud)

lerna bootstrap似乎没有任何问题同coreweb,但mobile(这是一个阵营本地项目)拒绝找到myapp-core模块.

我记得npm link在React Native中存在一些问题.是什么导致了这个问题?这个功能最终会存在吗?

npm react-native lerna

11
推荐指数
1
解决办法
4560
查看次数

如何作为CircleCI配置的一部分运行webpack编译

我想将未编译的文件保存到Github,稍后运行CircleCI webpack来编译它.我似乎无法让这个工作......

machine:
  node:
    version: 5.10.1

dependencies:
  override:
    - npm install
    - npm install webpack -g
    - webpack

test:
  override:
    - npm test

deployment:
  staging:
    branch: master
    heroku:
      appname: heroku-app-123
Run Code Online (Sandbox Code Playgroud)

Webpack似乎确实已经运行,因为我在CircleCI中得到以下输出:

哈希:db00c1

e4b7e0aa25c885
Version: webpack 1.12.14
Time: 10581ms
              Asset     Size  Chunks             Chunk Names
 /images/iphone.png  79.9 kB          [emitted]  
/images/macbook.png   117 kB          [emitted]  
   /images/temp.png  16.1 kB          [emitted]  
          bundle.js  2.38 MB       0  [emitted]  main
          style.css  19.9 kB       0  [emitted]  main
   [0] multi main 52 bytes {0} [built]
...
Run Code Online (Sandbox Code Playgroud)

但不幸的是,当它被部署时,没有呈现任何内容,这告诉我webpack实际上没有运行.如果我在webpack本地运行命令并推送到Github,一切正常,但我不想依赖我记得在推送之前编译我的应用程序.

我的webpack编译步骤是在错误的地方吗?我该如何解决这个问题? …

circleci webpack

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

告诉 NPM 安装在不同的目录中

我遇到的情况是,由于我正在处理的项目的要求/意见,我必须将package.json文件保存在嵌套目录中。见下文:

/my-app
  |-- /functions
    |-- /node_modules
    |-- package.json
Run Code Online (Sandbox Code Playgroud)

我现在多次遇到的问题是,我npm i <package>从内部运行/my-app,并且/my-app/functions没有意识到这一点,最终我花费了不必要的时间调试我的应用程序,因为我将包安装在错误的位置。

有没有办法创建一个根级package.json文件,只告诉 NPM,“嘿,如果你要安装某些东西,请在另一个目录中进行。”?例如:

/my-app
  |-- package.json <-- add this
  |-- /functions
    |-- /node_modules
    |-- package.json
Run Code Online (Sandbox Code Playgroud)

也许package.json根目录中的文件看起来像这样?

{
  "installDirectory": "/functions"
}
Run Code Online (Sandbox Code Playgroud)

此功能可能已经存在,但我无法在文档中找到它。该--prefix标志类似,但它不会自动处理我所描述的情况。

npm

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

允许在 React Native 中关注 TextInput 时点击/按下项目

我有一个TextInput功能作为某些结果的搜索/过滤器。结果显示在一个ScrollView.

我遇到的问题是,当状态处于focus时,用户必须点击两次才能选择中的TextInput项目(这是 a ) 。TouchableOpacityScrollView

第一次点击将关闭键盘和blur,第二次点击将选择该项目。对于我的特定情况来说,这不是理想的用户体验......而且我不确定是否有解决方法。

有没有办法让 aTextInput处于某种focus状态时可以选择某个项目,以避免选择项目的两次点击过程?

react-native

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

AWS CloudFormation 资源限制为 200

我有一个包含大量资源(一堆 DynamoDB 表、lambda 函数等)的应用程序,显然我遇到了 200 个资源的硬限制。具体错误是:

Template format error: Number of resources, 204, is greater than the maximum allowed, 200
Run Code Online (Sandbox Code Playgroud)

错误消息很清楚,但我想知道我的选择是什么。最坏的情况是,我可以将应用程序分成几部分。是否有其他替代策略?

amazon-web-services aws-cloudformation serverless-framework

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

无服务器 - 服务之间通信的选项?

我有一些不同的服务(由无服务器框架生成)需要相互通信。数据敏感,需要身份验证。

我当前的策略是为每个服务创建一个 api 密钥,使用 json web 令牌在服务之间进行通信,如下所示的令牌。

fM61kaav8l3y_aLC/3ZZF7nlQGyYJsZVpLLiux5d84UnAoHOqLPu4dw3W7MiGwPiyN
Run Code Online (Sandbox Code Playgroud)

服务之间通信还有哪些其他选项?这种方法有什么缺点吗?重申一下,请求需要经过身份验证并适当处理敏感数据。

amazon-web-services aws-lambda aws-api-gateway serverless-framework

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

Meteor.js - 在呈现的模板中调用模板助手

我正在使用Meteor 1.0.

我有一个Template.*name*.rendered功能,可以进行大量的计算.在计算结束时,我希望输出进入一个Template.*name*.helpers所以我可以在相应的html页面中使用它.

这是代码的简化版本:

Template.myTemplate.rendered = function () {

  var x = Math.random();

  Template.otherTemplate.helpers({
    randomNum: x
  });

}
Run Code Online (Sandbox Code Playgroud)

当我打电话{{randomNum}}otherTemplate,没有任何反应.

我也试过把Template.*name*.helpers外面的Template.*name*.rendered,在这种情况下,我得到错误:

Uncaught ReferenceError: x is not defined
Run Code Online (Sandbox Code Playgroud)

思考?

templates meteor meteor-blaze

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