小编Rak*_*kib的帖子

如何在jenkins管道作业中运行docker命令

在我的Manage Jenkins>中Global Tool Configuration,我已经配置了一个名为"docker"的工具,如下所示:

name:                   docker
install automatically:  CHECKED
docker version:         latest
Run Code Online (Sandbox Code Playgroud)

然后我所拥有的jenkinsfile就是以下内容,而不是其他内容:

node {
    DOCKER_HOME = tool "docker"
    sh """
        echo $DOCKER_HOME
        ls $DOCKER_HOME/bin/
        $DOCKER_HOME/bin/docker images
        $DOCKER_HOME/bin/docker ps -a
    """
}
Run Code Online (Sandbox Code Playgroud)

我收到这样的错误" 无法连接到Docker守护程序.这个主机上是否运行了docker守护程序? ".

以下是完整的console log:

Started by user Syed Rakib Al Hasan
[Pipeline] node
Running on master in /var/jenkins_home/workspace/helloDocker
[Pipeline] {
[Pipeline] tool
[Pipeline] sh
[helloDocker] Running shell script
+ echo /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker
/var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker
+ ls /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker/bin/
docker
+ /var/jenkins_home/tools/org.jenkinsci.plugins.docker.commons.tools.DockerTool/docker/bin/docker images …
Run Code Online (Sandbox Code Playgroud)

jenkins docker docker-engine

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

从救援块中引发另一个错误会发出将我们带入救援块的原始错误

案子

\n\n

我有一个 Rail 4 应用程序控制器,index其中包含如下方法:

\n\n
def index\n  raise "Original Error"\nrescue => e\n  puts "We caught: \'#{e.inspect}\'"\n  raise "Another Error"\nend\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在捕捉Original Error,处理它,按摩它,做任何我想做的事情,然后抛出一个完全不同的错误 - Another Error

\n\n
\n\n

期望

\n\n

因此,预计Another Error当我访问控制器的索引页面而不是Original Error.

\n\n
\n\n

意想不到的行为

\n\n

但我实际上得到的是Original Error相反的。将控制器#action 的日志复制到此处:

\n\n
Started GET "/homepage" for 127.0.0.1 at 2019-02-06 18:50:19 +0800\nWe caught: \'#<RuntimeError: Original Error>\'\nCompleted 500 Internal Server Error in 205ms (Flexirest: 0.0ms for 0 calls | …
Run Code Online (Sandbox Code Playgroud)

ruby runtime-error ruby-on-rails exception ruby-on-rails-4

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

多个子域来源的 cloudfront 路径模式示例

例如,一个 Cloudfront 发行版具有以下关联的 CNAME

photo-cdn.example.com
video-cdn.example.com
music-cdn.example.com
Run Code Online (Sandbox Code Playgroud)

它有以下相关的起源

originA: photo.example.com/photocontents
originB: video.example.com/videocontents
originC: music.example.com/musiccontents
Run Code Online (Sandbox Code Playgroud)

我希望能够通过 Cloudfront 发行版获取以下内容文件,如下所示:

photo-cdn.example.com/photo.jpg => originA/photo.jpg
photo-cdn.example.com/image.png => originA/image.png

video-cdn.example.com/video.mpg => originB/video.mpg
video-cdn.example.com/movie.avi => originB/poster.jpg

music-cdn.example.com/music.mp3 => originC/music.mp3
music-cdn.example.com/itune.wav => originC/albumart.png
Run Code Online (Sandbox Code Playgroud)

我需要使用什么特定路径模式来实现此行为?

路径模式评估是否只发生在分布域路径的 SUFFIX 上(之后music-cdn.example.com/)?

或者路径模式评估是否包括分布域路径(包括music-cdn.example.com)。

cdn amazon-cloudfront

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

MySQL max_user_connections vs max_connections

SADLY我无法在任何地方找到对此查询的任何直接解释,甚至在MySQL文档中都没有.

各种论坛中的一些人说max_user_connections永远不会超过max_connections?例如:如果一个用户有3 max_user_connections另一个用户15 max_user_connections,那么他们说max_connections必须至少在上面3+15 = 18.

但是,mysql doc说,max_user_connections的最大允许值是4294967295,这比max_connections的最大允许值为100000要大得多.

有人可以解释一下MySQL中的这两个选项如何相互影响.

php mysql

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

当应用程序关闭或手机关机时,能否在 Android/iOS 应用程序上接收推送消息

可以当应用程序被关闭的消息可以在Android / iOS应用收到或手机处于关机状态?

我期望发生的事情...

  1. 当手机和应用程序打开时,从 Pusher 文档中可以很直接地了解如何对发送到应用程序的推送消息做出反应。

  2. 当手机打开且应用程序关闭时,手机应收到通知,说明某些内容已发送到应用程序。

  3. 当手机关闭时,当手机重新打开时,手机应该会收到一条通知,通知某些内容已发送到应用程序。

这些甚至可能吗?如果是,有什么建议需要注意?如果没有,有什么解决方法?

android push-notification apple-push-notifications ios pusher

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

来自EC2的Django send_mail()通过Gmail提供SMTPAuthenticationError - 但在localhost中工作正常

Django项目settings.py包括以下内容:

EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST = "smtp.gmail.com"
EMAIL_HOST_USER = "you.cant.see.me@gmail.com"
EMAIL_HOST_PASSWORD = "thug_life"
EMAIL_PORT = 587
EMAIL_USE_TLS = True
Run Code Online (Sandbox Code Playgroud)

我的应用程序views.py包含以下内容

def send_classic_email(request):
    from django.core.mail import send_mail
    send_mail(
        subject = "Tale of two cities",
        from_email = "Charles Dickens <you.cant.see.me@gmail.com>",
        recipient_list = ["someone@example.com"],
        message = "There were 2 cities",
        html_message = "<p>There were 2 cities</p>",
        fail_silently = False,
    )
    print "Absolutely Perfectly Done"
Run Code Online (Sandbox Code Playgroud)

从localhost尝试.得到SMTPAuthenticationError回报:

SMTPAuthenticationError at /send_classic_email/
(534, '1.3.95 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=fsadjSADJH\n1.3.95 
fjkshFHAKSHkdfshkfkhj-sfjdhFsadASDA_\n1.3.95 
dasdASDADas-aDas-hfhjsadASDSAhjjhd\n1.3.95 
ADSaSADkja_adhjkADKjhads-ASADS_SDAKjadAKJhsADS-k\n1.3.95 
sadhkjADSAKJSDJAlkjdaA> Please log …
Run Code Online (Sandbox Code Playgroud)

python email django smtp django-mailer

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

来自codeigniter的响应头中没有显示Access-Control-Allow-Origin

我的Codeigniter文件说

$CI->output->set_header("Access-Control-Allow-Origin: *");
$CI->output->set_header("Access-Control-Expose-Headers: Access-Control-Allow-Origin");
$CI->output->set_status_header(200);
$CI->output->set_content_type('application/json');
echo json_encode(array("city" => "dhaka"));
Run Code Online (Sandbox Code Playgroud)

但我得到的http响应是:

Request URL:http://localhost/index.php/location/city
Request Method:POST
Status Code:200 OK

Connection:Keep-Alive
Content-Length:16
Content-Type:text/html
Date:Sun, 22 Jul 2012 10:27:32 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8r DAV/2 PHP/5.3.6
X-Powered-By:PHP/5.3.6
Run Code Online (Sandbox Code Playgroud)

Access-Control-Allow-Origin即使在包括之后,响应中也缺少标题Access-Control-Expose-Headers: Access-Control-Allow-Origin.我关于此标题的信息来源是来自Mozilla开发者网站

php ajax codeigniter xmlhttprequest

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

如何在 docker 容器内安装/启动 docker 引擎服务

我正在使用 jenkins 的官方 docker 容器运行 jenkins。我dockerfile按照https://docs.docker.com/engine/installation/linux/debian/ 上的说明进行了以下操作

FROM jenkins:2.32.1

# install docker inside this container
USER root
    # Install Docker inside Jenkins
    RUN apt-get update
    RUN apt-get purge "docker.io*"
    RUN apt-get update
    RUN apt-get install -y apt-transport-https ca-certificates gnupg2
    RUN apt-key adv \
       --keyserver hkp://ha.pool.sks-keyservers.net:80 \
       --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    RUN echo "deb https://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update
    RUN apt-cache policy docker-engine
    RUN apt-get update
    RUN apt-get install -y docker-engine
    RUN gpasswd -a jenkins docker …
Run Code Online (Sandbox Code Playgroud)

bash containers jenkins docker docker-engine

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

使用模拟获取 GKE 集群凭据后无法运行“kubectl”命令

我的目标

\n

我想使用 GCP 模拟来获取我的 GKE 集群凭据。然后我想运行kubectl命令。

\n

初始上下文

\n
    \n
  1. 我有一个名为的 GCP 项目rakib-example-project
  2. \n
  3. 我的项目中有 2 个 ServiceAccounts,名为:\n
      \n
    • owner@rakib-example-project.iam.gserviceaccount.com \n
        \n
      • 它具有项目范围的roles/owner角色 - 因此它可以在 GCP 项目内执行任何操作
      • \n
      \n
    • \n
    • executor@rakib-example-project.iam.gserviceaccount.com \n
        \n
      • 它仅具有项目范围的roles/iam.serviceAccountTokenCreator角色 - 因此它可以模拟GCP 项目中的所有者ServiceAccount
      • \n
      \n
    • \n
    \n
  4. \n
  5. 我的项目中有 1 个 GKE 集群,名为my-gke-cluster
  6. \n
\n

问题

\n

\xe2\x9c\x85 我已验证为执行者ServiceAccount:

\n
$ gcloud auth activate-service-account --key-file=my_executor_sa_key.json\n\nActivated service account credentials for: [executor@rakib-example-project.iam.gserviceaccount.com]\n
Run Code Online (Sandbox Code Playgroud)\n …

impersonation google-cloud-platform kubernetes google-kubernetes-engine kubectl

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

使用“asdf”中的“kubectl”而不是“homebrew”

我已经kubectlhomebrewMac上安装了很长时间了。所以从我的路径来看,使用了自制的 kubectl 。

今天我安装了kubectlusingasdf以便能够kubectl为不同的项目使用不同的版本。然而,我的 Mac 仍然看到kubectl我的homebrew安装路径 - 而不是我新安装的路径asdf

如何运行该kubectl命令并使其使用asdf版本而不是使用homebrew版本?

macos homebrew path asdf kubectl

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