gpt4 book ai didi

Travis CI 不允许使用 SShpass

转载 作者:行者123 更新时间:2023-12-04 20:38:35 25 4
gpt4 key购买 nike

语境

我有一个应用程序,我在其中使用单元测试,我需要持续交付它。我选择使用github + travis + docker。

我的 Docker 容器是一个带有 openSSL 的 Ubuntu 12.04,我无法从外部连接,我对此没有任何问题

当 travis 构建正常时,我需要通过 SSH 连接我的 docker 容器并运行脚本。

问题

实际上,我正在使用:

enter image description here

但这根本不起作用,因为 sshpass 不在白名单中。似乎我无法使用 before_install 命令,因为我使用的是基于容器的基础架构。

注意:端口是 22,我在拍照时错过了它。

问题

  • 如何将我的 ssh 容器从 travis 连接到部署我的应用程序(如果目录存在,则仅运行 git clone/git pull 的脚本)
  • 这是使用 travis 使其成为这样的好方法,还是存在其他东西?

  • 编辑 :

    travis 新文件:
    enter image description here

    和日志
    Using worker: worker-linux-968a87ce-1.bb.travis-ci.org:travis-linux-14
    system_info
    Build system information
    Build language: node_js
    Build image provisioning date and time
    Wed Feb 4 18:22:50 UTC 2015
    Operating System Details
    Distributor ID: Ubuntu
    Description: Ubuntu 12.04 LTS
    Release: 12.04
    Codename: precise
    Linux Version
    2.6.32-042stab090.5
    Cookbooks Version
    23bb455 https://github.com/travis-ci/travis-cookbooks/tree/23bb455
    GCC version
    gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
    Copyright (C) 2011 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    LLVM version
    clang version 3.4 (tags/RELEASE_34/final)
    Target: x86_64-unknown-linux-gnu
    Thread model: posix
    Pre-installed Ruby versions
    ruby-1.9.3-p551
    Pre-installed Node.js versions
    v0.10.36
    Pre-installed Go versions
    1.4.1
    Redis version
    redis-server 2.8.19
    riak version
    2.0.2
    MongoDB version
    MongoDB 2.4.12
    CouchDB version
    couchdb 1.6.1
    Neo4j version
    1.9.4
    Cassandra version
    2.0.9
    RabbitMQ Version
    3.4.3
    ElasticSearch version
    1.4.0
    Installed Sphinx versions
    2.0.10
    2.1.9
    2.2.6
    Default Sphinx version
    2.2.6
    Installed Firefox version
    firefox 31.0esr
    PhantomJS version
    1.9.8
    ant -version
    Apache Ant(TM) version 1.8.2 compiled on December 3 2011
    mvn -version
    Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T17:29:23+00:00)
    Maven home: /usr/local/maven
    Java version: 1.7.0_76, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-7-oracle/jre
    Default locale: en, platform encoding: UTF-8
    OS name: "linux", version: "2.6.32-042stab090.5", arch: "amd64", family: "unix"
    git.checkout
    0.26s$ git clone --depth=50 --branch=master git://myPrivateRepo/Project
    Cloning into 'user/Project'...
    remote: Counting objects: 1363, done.
    remote: Compressing objects: 100% (9/9), done.
    remote: Total 1363 (delta 4), reused 0 (delta 0), pack-reused 1354
    Receiving objects: 100% (1363/1363), 874.89 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (263/263), done.
    Checking connectivity... done.
    $ cd user/Project
    $ git checkout -qf commitId
    1.56s$ nvm install 0.10
    ######################################################################## 100.0%
    Now using node v0.10.38
    $ node --version
    v0.10.38
    $ npm --version
    1.4.28
    $ nvm --version
    0.23.3
    before_install
    6.72s$ sudo apt-get install sshpass
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following package was automatically installed and is no longer required:
    libgeos-3.2.2
    Use 'apt-get autoremove' to remove them.
    The following NEW packages will be installed:
    sshpass
    0 upgraded, 1 newly installed, 0 to remove and 102 not upgraded.
    Need to get 10.5 kB of archives.
    After this operation, 56.3 kB of additional disk space will be used.
    Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/universe sshpass amd64 1.05-1 [10.5 kB]
    Fetched 10.5 kB in 0s (234 kB/s)
    Selecting previously unselected package sshpass.
    (Reading database ... 75363 files and directories currently installed.)
    Unpacking sshpass (from .../sshpass_1.05-1_amd64.deb) ...
    Processing triggers for man-db ...
    Setting up sshpass (1.05-1) ...
    install
    1.12s$ npm install
    npm WARN package.json UnitTest@0.0.0 No description
    npm WARN package.json UnitTest@0.0.0 No repository field.
    npm WARN package.json UnitTest@0.0.0 No README data
    0.95s$ npm test
    > UnitTest@0.0.0 test /home/travis/build/user/project
    > node test
    First test should fail: 1) First test should fail
    0 passing (8ms)
    1 failing
    1) First test should fail:
    AssertionError: true == false
    + expected - actual
    -true
    +false

    at Context.<anonymous> (test/first.js:8:16)
    The command "npm test" exited with 0.
    after_success
    0.91s$ sudo sshpass -p password ssh root@ip -p 7000
    Done. Your build exited with 0.

    最佳答案

    sshpass 可以通过添加以下内容安装在 Travis CI 容器中:

    addons:
    apt:
    packages:
    - sshpass

    关于Travis CI 不允许使用 SShpass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30730660/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com