Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create core/hab-bintray-publish for Bintray publishing, right? #709

Merged
merged 4 commits into from
Jun 10, 2016

Conversation

fnichol
Copy link
Collaborator

@fnichol fnichol commented Jun 10, 2016

This change adds an additional piece of support software, under support/bintray-publish, which automates the delivery of hab CLI artifacts and Studio Docker images to Bintray for initial consumption.

As all plans, this can be build with:

hab pkg build ./support/bintray-publish

Which produces a core/hab-bintray-publish package. There are 2 programs provided:

  • publish-hab - used to take a Habitat package of hab and publish it to Bintray
  • publish-studio - used to create and push a Docker image of a pre-created Studio instance

Both of these programs require login credentials to do their work and these are consumed via environment variables. They will both fail if any of the required environment variables are not set, but for clarity, the following are used:

  • BINTRAY_USER - username
  • BINTRAY_KEY - an API key for the username
  • BINTRAY_PASSPHRASE - the passphrase for the GPG-signing key on the Bintray platform

Signed-off-by: Fletcher Nichol <[email protected]>
Signed-off-by: Fletcher Nichol <[email protected]>
Signed-off-by: Fletcher Nichol <[email protected]>
This change adds an additional piece of support software, under
`support/bintray-publish`, which automates the delivery of `hab` CLI
artifacts and Studio Docker images to Bintray for initial consumption.

As all plans, this can be build with:

    hab pkg build ./support/bintray-publish

Which produces a `core/hab-bintray-publish` package. There are 2
programs provided:

* `publish-hab` - used to take a Habitat package of `hab` and publish it
  to Bintray
* `publish-studio` - used to create and push a Docker image of a
  pre-created Studio instance

Both of these programs require login credentials to do their work and
these are consumed via environment variables. They will both fail if any
of the required environment variables are not set, but for clarity, the
following are used:

* `BINTRAY_USER` - username
* `BINTRAY_KEY` - an API key for the username
* `BINTRAY_PASSPHRASE` - the passphrase for the GPG-signing key on
  the Bintray platform

Signed-off-by: Fletcher Nichol <[email protected]>
@thesentinels
Copy link
Contributor

By analyzing the blame information on this pull request, we identified @adamhjk to be a potential reviewer

@fnichol
Copy link
Collaborator Author

fnichol commented Jun 10, 2016

A rough simulation of the deployment process:

gif-keyboard-18343700076334732226

ln -snf $certs /etc/ssl/certs/ca-certificates.crt
fi
export LD_LIBRARY_PATH="$LD_RUN_PATH"
exec $(pkg_path_for glibc)/lib/ld-linux-x86-64.so.2 ${bin}.real \$@
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

man, really? we can't just patch the binary like normal humans?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't that the best? Turns out Go binaries are their own breed and patchelf has issues coping.

That function started off so wicked, until I needed SSL certs. From what I could tell Go doesn't honor any environment variables for these, but does absolute hard coded path lookups. The line 33-37 is evil, but the rest was almost a universal solution for cgo-compiled binary that we didn't build.

Also, I really wanted to see this frog fly, as is were. Whee!

@adamhjk
Copy link
Contributor

adamhjk commented Jun 10, 2016

This looks legit. Lets do it.

@thesentinels r+

gif-keyboard-952066459551109735

@thesentinels
Copy link
Contributor

📌 Commit 6f5d701 has been approved by adamhjk

@thesentinels
Copy link
Contributor

⌛ Testing commit 6f5d701 with merge 70fb415...

thesentinels pushed a commit that referenced this pull request Jun 10, 2016
Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
thesentinels pushed a commit that referenced this pull request Jun 10, 2016
Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
thesentinels pushed a commit that referenced this pull request Jun 10, 2016
Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
thesentinels pushed a commit that referenced this pull request Jun 10, 2016
This change adds an additional piece of support software, under
`support/bintray-publish`, which automates the delivery of `hab` CLI
artifacts and Studio Docker images to Bintray for initial consumption.

As all plans, this can be build with:

    hab pkg build ./support/bintray-publish

Which produces a `core/hab-bintray-publish` package. There are 2
programs provided:

* `publish-hab` - used to take a Habitat package of `hab` and publish it
  to Bintray
* `publish-studio` - used to create and push a Docker image of a
  pre-created Studio instance

Both of these programs require login credentials to do their work and
these are consumed via environment variables. They will both fail if any
of the required environment variables are not set, but for clarity, the
following are used:

* `BINTRAY_USER` - username
* `BINTRAY_KEY` - an API key for the username
* `BINTRAY_PASSPHRASE` - the passphrase for the GPG-signing key on
  the Bintray platform

Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
@thesentinels
Copy link
Contributor

☀️ Test successful - travis

@thesentinels thesentinels merged commit 6f5d701 into master Jun 10, 2016
@fnichol fnichol deleted the fnichol/hab-standalone-packaging branch June 10, 2016 03:16
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
jtimberman pushed a commit that referenced this pull request Jun 12, 2016
This change adds an additional piece of support software, under
`support/bintray-publish`, which automates the delivery of `hab` CLI
artifacts and Studio Docker images to Bintray for initial consumption.

As all plans, this can be build with:

    hab pkg build ./support/bintray-publish

Which produces a `core/hab-bintray-publish` package. There are 2
programs provided:

* `publish-hab` - used to take a Habitat package of `hab` and publish it
  to Bintray
* `publish-studio` - used to create and push a Docker image of a
  pre-created Studio instance

Both of these programs require login credentials to do their work and
these are consumed via environment variables. They will both fail if any
of the required environment variables are not set, but for clarity, the
following are used:

* `BINTRAY_USER` - username
* `BINTRAY_KEY` - an API key for the username
* `BINTRAY_PASSPHRASE` - the passphrase for the GPG-signing key on
  the Bintray platform

Signed-off-by: Fletcher Nichol <[email protected]>

Pull request: #709
Approved by: adamhjk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants