10.13. Deploying Your Software on the Target Machine

Use the devtool deploy-target command to deploy the recipe's build output to the live target machine:

     $ devtool deploy-target recipe target
            

The target is the address of the target machine, which must be running an SSH server (i.e. user@hostname[:destdir]).

This command deploys all files installed during the do_install task. Furthermore, you do not need to have package management enabled within the target machine. If you do, the package manager is bypassed.

Notes

The deploy-target functionality is for development only. You should never use it to update an image that will be used in production.

Some conditions exist that could prevent a deployed application from behaving as expected. When both of the following conditions exist, your application has the potential to not behave correctly when run on the target:

If both of these conditions exist, your application will not behave as expected. The reason for this misbehavior is because the devtool deploy-target command does not deploy the packages (e.g. libraries) on which your new application depends. The assumption is that the packages are already on the target. Consequently, when a runtime call is made in the application for a dependent function (e.g. a library call), the function cannot be found.

To be sure you have all the dependencies local to the target, you need to be sure that the packages are pre-deployed (installed) on the target before attempting to run your application.