Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Publish to IPNS from Circle CI #11

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open

Publish to IPNS from Circle CI #11

wants to merge 12 commits into from

Conversation

harlantwood
Copy link
Collaborator

When the code for this repo changes, we rebuild the JS bundle on Circle CI, check everything into IPFS, publish to IPNS (always the same peer ID / private key), then request all assets from the gateway.

See test below: I changed the text of the exists column header to (exists) and republished:

screenshot 2015-12-07 23 43 58

@jbenet lots of this should be reusable for autodeploys of the website, and whatever else ... ipfs-inactive/website#17 & ipfs-inactive/website#75

License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
@RichardLitt
Copy link
Collaborator

Nice!

@jbenet
Copy link

jbenet commented Dec 9, 2015

This is great! though publishing to IPNS wont work, unless you run CI every few hours. the reason is that IPNS needs to be republished over time.

We'll be changing that to allow other nodes to re-share records-- it's a major protocol issue.

@harlantwood
Copy link
Collaborator Author

OK... Options:

  1. Publish to ipns hourly. Maybe by triggering CI, or from a cronjob, eg on heroku or digital ocean
  2. Switch to pushing IPFS hash to dns bridge. This requires having a digital ocean token present, so @lgierth doesn't want to have it run from CI. Perhaps it could run from one of our digital ocean servers.

@harlantwood
Copy link
Collaborator Author

@lgierth and @jbenet do you have preferences between options 1 & 2 above?

@ghost
Copy link

ghost commented Dec 10, 2015

Publish to ipns hourly. Maybe by triggering CI, or from a cronjob, eg on heroku or digital ocean

mh shouldn't the republisher take care of that? @whyrusleeping

@ghost
Copy link

ghost commented Dec 10, 2015

mh shouldn't the republisher take care of that? @whyrusleeping

ooh, the publishing daemon is ephemeral, within circleci. tricky.

@jbenet
Copy link

jbenet commented Dec 10, 2015

@harlantwood both SGTM. if we do a service we host, then:

  • CI could hit a service with the ipfs-path, and it could publish to ipns
  • forget CI, and a webhook could hit a service directly who does all the work. (ci is fine with me)

improve shell execution & wget options

License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
License: MIT
Signed-off-by: Harlan T Wood <code+harlan@harlantwood.net>
@harlantwood
Copy link
Collaborator Author

I'm going to leave this PR open for now, in hopes that this will change:

@jbenet said in #11 (comment):
publishing to IPNS wont work, unless you run CI every few hours. the reason is that IPNS needs to be republished over time.
We'll be changing that to allow other nodes to re-share records-- it's a major protocol issue.

@RichardLitt
Copy link
Collaborator

@lgierth When do we think that will change, for IPNS? Is that in the roadmap?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants