what could be a deployment strategy with pubspec on dart - dart

What would be the best way to actually deploy dart code that has pubspec.yaml dependencies? A common thing I've done in the past was to create demos and deploy to github pages. Now that pub uses symbolic links the dependencies do not get pushed to github. Also wondering if this should be a bug to file for pub, being able to deploy with dependencies.

We aren't there yet, but pub will in the future support a deploy command. That will do things like run dart2js and concatenate/minify your code. It will also physically bring in all of your dependencies so you don't have symlinks. The end result will be a single directory that contains everything your package needs to run.

I think you have three options:
If you already have a server-side technology and a deployment strategy, use that.
If you're just deploying static stuff, I wonder if Google App Engine would work with these symlinks.
Heroku supports Dart, although I'm not sure how it supports symlinks.

You can deploy your Dart application on Heroku cloud hosting. There is a step-by-step tutorial here.
It works nice.

Related

Apache Service Mix Deployment Approaches

Folks,
We have got an enterprise application which uses Apache Service Mix for deployment. The application consists of various services and each is created as separate Maven project (bundle).During development, we are actually building each service separately and in-order to deploy it,its being put in the deploy folder. Also, we have to uninstall the bundle from the container(say; karaf) and then install it again from the console to bring the new changes in effect. This is fine during the development phase.
Now we want to deploy the code to an UAT environment (Amazon EC2) for the client to do the testing. We are now confused about how to deploy the bundles to the remote environment. Do we have a standard approach for CI using Jenkins(or some other tool) to automate the build and deploy process , so that someone who has no knowledge about the bundles(SMX) can deploy the code. We are using Github for source code management.
We have searched a lot in this regard and couldn't find any resources which provide some leads/hints on this.
Any help/tips is highly appreciated. If you need more info, I can give more details.
~Ragesh
We do have exactly similar setup and we use the Jenkins to build and let the Sysadmin to copy the bundles to one server and then he enables the rsync to rest of the servers.
Remember, always deploy the dependent bundle first and then remaining ..
Since we have this dependency ,we can't go automating this process.

How to Create a custom opencv buildpack for heroku

Yes, I am aware of the fact that there are many compiled libraries available but currently, none of them are working properly. Also, the lack of proper guides which chalk out the steps for creating OpenCV buildpacks(or any buildpack for that fact of matter but more specifically opencv's buildpack) have lead me to post this question here. How to create custom a opencv buildpack? I want to make the compiled library from scratch and host it.
Again, emphasizing on the fact that I DON'T want to use the existing ones due to the problems in each of them. It would be awesome if someone could post a link to some guide or could give the steps to build one here itself. It would be very helpful for the poor souls who want to BUILD a custom buildpack on their own.
I managed to create a custom OpenCV buildpack using Docker. Then I deployed it on Heroku using Heroku Container Registry.
Here is the GitHub link for the repository which I created containing the Dockerfile used to install OpenCV and other libraries: https://github.com/hulkinBrain/docker-opencv2
Also here is the Docker hub link for the same: https://hub.docker.com/r/hulkinbrain/docker-opencv2/

Is it possible to run a private Hex (Erlang) dependency manager (and if so how)?

I'm working in an Erlang environment. I'm looking to establish a dependency manager so that our build server can publish binaries for reuse instead of using source code dependencies. The Hexpm GitHub project implies that it is possible to run it outside of the hex.pm website, but I don't see any instructions for doing so. Specifically, I would like my build server to be able to publish packages either directly (via the filesystem) or via rebar3, and for subsequent rebar3 builds to be able to use those published packages
Is it possible to run Hex on my own server?
If so, where would I find some documentation on how to set it up (or provide the instructions directly)?
If you look at https://github.com/hexpm/hex_web there are instructions in the README.md for both installing and running it. It's a phoenix application, so it should all be relatively familiar ground if you've looked at the phoenix framework before.
As for getting rebar3 to work with your installation, there is documentation here as to the config values to use for setting the URLs to use for hex packages: http://www.rebar3.org/docs/hex-package-management.
HTH.

Deploying a Rails app offline and with all dependencies intact

My goal is to deploy an existing Rails app on a machine. Oh, and the machine is on a handful of terminals in a remote community in the north of Australia. Oh, and I can't rely on there being Internet access for troubleshooting or admin purposes.
I'd like to package the app with a fresh copy of Rails and all of the apps dependencies (some of which must be built natively) so that the server can be run and a browser used as the front-end. The remote machines are modern Macs, and I should be able to replicate the configuration for testing here.
I've spotted some projects like Locomotive and Joyent Slingshot, as mentioned in this thread, but both of those projects seem to have been abandoned, and this link is Windows-specific.
Does anyone have any guidance as to what the modern way of doing this is? A community project thanks you in advance :)
Well, assuming those remove machines have Ruby available, you could use Bundler to freeze all your gems in your project:
bundle package
Read more at getbundler.com

Distribute CouchDB as part of a Rails app?

I am working on a Rails project and the Architect has asked me to investigate bundling CouchDB into to application so that it can be deployed by Capistrano across multiple platforms and managed by Rake.
My expectation was that I could set up the Erlang VM on the various environments and then distribute the CouchDB application with Capistrano. However I can't find any option to download CouchDB without the Erlang runtime. I can, however see an option to build CouchDB from source which I assume is platform dependent.
I am new to Erlang and CouchBD, am I missing something? Is there a way to bundle CouchDB into a Rails app and distribute it across multiple platforms?
Have a look at some of the tools for provisioning Rails services (such as passenger_stack). Passenger Stack will download, make and install the ancillary services for your Rails app ... might be something you can adapt or use as a base to install Erlang and CouchDB.
There are a bunch of alternatives to this as well. Deprec contains recipes for provisioning with Capistrano. Essential idea is the same though.
I think you will not find a silver bullet. Distributing Erlang is similar to distributing Ruby; however Ruby has the advantage of being included in many default OS installs.
I know ejabberd has pre-built binaries for many distros. You might investigate how they do it.
The correct solution probably depends on how many "multiple platforms" you are targeting. If it's "Ubuntu 8.04 plus Ubuntu 10.04" that is different from several Linux distros, plus OSX, plus FreeBSD. Typically only open source projects support those many platforms and ideally you can get patches from the community. For internal projects, I have seen teams standardize on a Linux build and use virtualization on Mac/Windows.
But back to your question:
Building from source is a reasonable option. You could build when you deploy, or pre-build for all platforms and then deploy the binaries. Both Erlang and CouchDB use Autoconf which means you can --prefix them to a dedicated location (more-or-less standalone apps). It will take some trial and error but your build script can
Platform-specific dependency setup: gcc, make, autoconf, everything you need. apt-get on Ubuntu, yum on RHEL, Macports, whatever you need to get a common platform on your development and deployment system
Compile and install the rest using the tools from step 1. Use configure --prefix=/opt/my_software to keep it all in one place. (You can totally uninstall with rm -rf.)
This is an medium-level challenge--mostly trial and error. If possible, work within a build framework such as Rake or Toby's suggestion passenger_stack. Good luck!

Resources