我配置了一个全局git用户,但是想为一个git项目使用不同的用户.
在该项目中,我使用git config --local user.name "localuser"并git config --local user.email "localuser@example.com"设置了本地项目的用户和电子邮件.
但是,当我尝试在github上推送到我的遥控器时,我收到此错误:
remote: Permission to localuser/repo.git denied to globaluser.
fatal: unable to access 'https://github.com/localuser/repo.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
以下是一些可能有助于诊断的输出:
git remote -v:
github https://github.com/localuser/repo.git (fetch)
github https://github.com/localuser/repo.git (push)
Run Code Online (Sandbox Code Playgroud)
git config --list:
user.name=globaluser
user.email=globaluser@example.com
...
Run Code Online (Sandbox Code Playgroud)
git config --local --list:
user.name=localuser
user.email=localuser@example.com
...
Run Code Online (Sandbox Code Playgroud)
git config user.name:
localuser
Run Code Online (Sandbox Code Playgroud) 我正在运行OS X 10.11 El Capitan及其内置服务器堆栈(Apache 2.4.16,MySQL 5.6.26).
我需要退出mysql,但是立即终止它会重启它.
这是我到目前为止所尝试的:
$ ps aux | grep mysql 获得PID返回
74 49484 1 0 10:23AM ?? 0:00.46 /usr/local/mysql/bin/mysqld --user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --log-error=/usr/local/mysql/data/mysqld.local.err --pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3307
Run Code Online (Sandbox Code Playgroud)
然后,$ sudo kill -9 49484杀死进程,但它会立即以更高的PID重新启动.
$ launchctl list | grep mysql 什么都不返回,所以什么也没有 $ launchctl unload
$ /usr/local/mysql/support-files/mysql.server stop失败并显示"错误!无法找到MySQL服务器PID文件!" 尽管mysql正在运行并且PID文件在/usr/local/mysql/data/mysqld.local.pid中是最新的.
以上是我在Stack Overflow上找到的所有建议的解决方案,这些解决方案都不适用于El Capitan.在优胜美地,简单地杀死进程就足够了,但是随着El Capitan的更新,mysql会立即重新启动.
谢谢.
我有 Jenkins 声明性管道,用于触发数据库刷新的几个不同存储库,以及依赖于数据库的单元测试。这些 Jenkins 作业由 GitHub 中的拉取请求触发。
为了避免资源冲突,我需要防止这些作业同时运行——无论是在每个项目内还是跨项目。
“Throttle Concurrent Builds”插件似乎是为此而构建的。
我已经安装了插件并配置了一个类别,如下所示:
我在应限制其构建的存储库之一中的 Jenkinsfile 中添加了“限制”选项:
pipeline {
agent any
options {
throttle(['ci_database_build'])
}
stages {
stage('Build') {
parallel {
stage('Build source') {
steps {
// etc etc...
Run Code Online (Sandbox Code Playgroud)
但是,这似乎并没有阻止 2 个作业同时执行。作为证据,以下是同时执行的 2 个作业(均包含上述 Jenkisfile 更改):
我错过了什么?
jenkins jenkins-plugins jenkins-pipeline jenkins-declarative-pipeline
在我的 Dockerfile 中,我有以下内容:
COPY . /var/task
Run Code Online (Sandbox Code Playgroud)
...它将我的应用程序代码复制到图像中。
vendor/执行此复制时我需要排除该目录。
vendor/到.dockerignore,因为当使用RUN composer install.我已尝试以下操作,但出现以下错误:
COPY [^vendor$]* /var/task
Run Code Online (Sandbox Code Playgroud)
当对多个源文件使用 COPY 时,目标必须是一个目录并以 / 结尾
COPY [^vendor$]*/ /var/task
Run Code Online (Sandbox Code Playgroud)
复制失败:未指定源文件
我在 GitHub 上有一个名为“team-core”的团队。
该团队拥有对某个私有存储库的写入权限:
我在 GitHub 中为此存储库设置了一个环境“qa”。
我想向该环境添加一条保护规则,需要团队核心上的任何人进行审核。
然而,尽管“团队核心”具有写入权限(文档说他们只需要读取权限),但他们没有出现在该规则的可能审阅者列表中。
其他 4 个团队确实出现在该菜单中(1 个具有读取权限,2 个具有写入权限,1 个具有存储库的管理员角色)。
如何让Team core成为环保规则的审核者?
可以为同一存储库的分支保护规则中的选项添加此团队,允许您输入团队(“限制谁可以驳回拉取请求审查”、“允许指定参与者绕过所需的拉取请求”和“限制谁可以推送到匹配的分支”)。
我有一个使用 Github webhooks 触发的 Jenkins 声明性管道。
Jenkins 作业可以在拉取请求或合并时触发。
我希望每次都运行 3 个步骤(构建和测试)中的 2 个 - 合并和 PR。
我希望最后一步 Deploy 仅在合并到“开发”分支时触发。
为此,我相信我需要访问触发作业的 github webhook 有效负载(包括其正文和请求标头)。如何从声明性管道访问这些数据?
这是我想要的要点:
pipeline {
agent any
stages {
stage ('Build') {
steps {
sh 'build.sh'
}
}
stage ('Test') {
steps {
sh 'test.sh'
}
}
stage ('Deploy to QA') {
when {
branch 'development'
// AND the github webhook header "X-GitHub-Event" == "pull_request"
// AND the github webhook json payload body.merged == true
}
steps {
sh …Run Code Online (Sandbox Code Playgroud) github webhooks jenkins jenkins-declarative-pipeline github-webhook
我有 json 格式的 CloudWatch 日志,其条目类似于以下内容:
{
"message": "resource_liked",
"context": {
"date": {
"date": "2021-05-07 16:52:11.000000",
"timezone_type": 3,
"timezone": "UTC"
},
...
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个 CloudWatch Insights 查询来制作一个简单的直方图:每小时日志中的事件数。
但是,我无法使用@timestamp日志条目的属性。我需要context.date.date在条目的消息正文中使用。
使用以下命令编写此查询@timestamp非常简单:
stats count(*) by datefloor(@timestamp, 1h)
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何使用该消息context.date.date。
我认为我需要将日期时间格式化2021-05-07 16:52:11.000000为 aws 理解的日期时间,但我找不到如何操作。
stats count(*) by datefloor(context.date.date, 1h)->“无效日期”
stats count(*) by datefloor(toMillis(context.date.date), 1h)->“无效日期”
stats count(*) by datefloor(substr(context.date.date, 0, 19), 1h)->“无效日期”
stats count(*) by datefloor(concat(replace(substr(context.date.date, 0, 23), ' ', 'T'), '-00:00'), 1h)-> …
amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights
我正在使用 PHPStan 及其 Doctrine 扩展。
我有一个使用 doc 块调用的自定义实体存储App\Repository\Doctrine\UserRepository库@extends:
/**
* @extends \Doctrine\ORM\EntityRepository<\App\Entity\User>
*/
class UserRepository extends EntityRepository implements IUserRepository
{
public function customRepositoryMethod()
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,这段代码:
public function getUserMatches(EntityManager $em)
{
$userRepo = $em->getRepository(\App\Entity\User::class);
$userRepo->customRepositoryMethod();
}
Run Code Online (Sandbox Code Playgroud)
...导致此 PHPStan 错误:
Call to an undefined method Doctrine\ORM\EntityRepository<meQ\Entity\User>::customRepositoryMethod().
Run Code Online (Sandbox Code Playgroud)
感谢 phpstan-doctrine,静态分析知道$em->getRepository(User::class)返回一个EntityRepository<User>.
但是,它不知道将自定义存储库类UserRepository视为该泛型类型的实现。
如何 DocBlock UserRepository 类,或以其他方式配置 PHPStan,以便它解释UserRepository为 的实现EntityRepository<User>?
我也尝试过这个 DocBlock,但UserRepository没有成功:
Call to an undefined …Run Code Online (Sandbox Code Playgroud) 使用无服务器框架,如何使我的 Lambda 函数依赖于该resources部分中的 SQS 队列,因为它是函数本身的触发器?
在我的 中serverless.yaml,我定义了一个新的队列和 Lambda 函数。
然后,我想使用该队列作为 Lambda 函数的事件源(触发器)。
我通过手动创建队列 ARN 来做到这一点:
functions:
consumer:
handler: App\Service\Consumer
events:
- sqs:
arn:
Fn::Join:
- ':'
- arn:aws:sqs
- Ref: AWS::Region
- Ref: AWS::AccountId
- ${opt:stage}-skill-assigner
Run Code Online (Sandbox Code Playgroud)
并在资源中创建队列:
resources:
Resources:
SkillAssignerQueue:
Type: AWS::SQS::Queue
Properties:
QueueName: ${opt:stage}-skill-assigner
Run Code Online (Sandbox Code Playgroud)
如果我在将队列用作函数触发器之前在部署中创建队列,则效果很好。
但是,如果我尝试部署它们,当它尝试创建事件源映射时,它会失败并出现此错误:
提供的请求无效:接收消息时发生错误。SQS 错误代码:AWS.SimpleQueueService.NonExistentQueue。SQS 错误消息:此 wsdl 版本的指定队列不存在。
amazon-sqs amazon-web-services aws-lambda serverless-framework
我在 Moment.js 中正确格式化日期时遇到问题。我正在使用格式为“LLL D,YYYY”的格式函数,因此它应该返回类似“2016 年 9 月 15 日”的内容。
相反,它以一种奇怪的格式返回日期,例如“2016 年 9 月 15 日 12:00 2016 年 15 月 15 日”。
这是我的代码,下面是调试信息。
moment.locale(picker.options.language);
console.log('picker.options.language:');
console.log(picker.options.language);
formatted = moment(picker.date).format(picker.format);
console.log('picker.date:');
console.log(picker.date);
console.log('picker.format:');
console.log(picker.format);
console.log('formatted:');
console.log(formatted);
Run Code Online (Sandbox Code Playgroud)
上面代码的控制台输出:
github ×3
jenkins ×2
jenkins-declarative-pipeline ×2
amazon-sqs ×1
apache ×1
aws-cloudwatch-log-insights ×1
aws-lambda ×1
docker ×1
dockerfile ×1
doctrine ×1
git ×1
git-config ×1
javascript ×1
macos ×1
momentjs ×1
mysql ×1
php ×1
phpstan ×1
symfony ×1
webhooks ×1