Learning paths for Code Engine
Find your path to accomplish what you want with IBM Cloud® Code Engine.
Plan your deployments
Before you start, learn about Code Engine and some common terms.
Then, decide whether you want to deploy an application, create a job, or run a function by reading planning for Code Engine.
You can even try out our application tutorial, our job tutorial, or our function tutorial.
Install the tools
If you plan to use the CLI, you must install it. As you work with your Code Engine workloads, refer to the CLI command reference and track CLI version updates with the CLI change log. You can also access the IBM Cloud Shell in your web browser.
If you do not want to use the CLI, you can work from the console.
Create your first project
To get started with Code Engine, create a project to contain your entities. You can also set access policies for your project.
Need help? Check out troubleshooting tips for projects. If you need more help, try getting support.
Develop your application, job, or function
Code Engine deploys applications and runs jobs that are bundled into container images. If you do not have a container image, you can build and deploy your code from within Code Engine.
Code Engine runs functions as code bundles. If you do not have a code bundle, you can build and run your function from within Code Engine.
Do you have source code or a container image for your application or job?
I have a container image.
- If your image is stored in a container registry that you have access to, then you are ready to deploy.
- If your image is in a private registry, either in a different Container Registry account or in private registry such as Docker Hub, you must set up access.
Then, you are ready to deploy your application, run your job, or run your function.
I have source code.
-
Find out what advantages are available when you build your image with Code Engine.
-
You can also find tips for creating a Dockerfile.
-
If your source code is in a private repository, set up access.
-
Optionally, set up an IBM Cloud Container Registry namespace to hold your built image. If the Container Registry namespace is in a different account, set up access. If you do not set up access to your IBM Cloud Container Registry namespace, access is created automatically for you.
Need help? Check out troubleshooting tips for builds. If you need more help, try getting support.
Deploy your application
To get started, read plan a container image for Code Engine applications and Application workloads.
How does your application scale?
Do yo want to customize your application?
- Does your application require a project endpoint? See Deploying your app with a project endpoint.
- Does your application require a private endpoint? See Deploying your app with a private endpoint.
- How much CPU and memory does your application need? See Supported memory and CPU combinations.
- Do you have commands and arguments to add to your application? See Deploying your app with commands and arguments.
- Want to define environment variables for your application? Find out how with Working with environment variables.
- Does your application take advantage of configmaps or secrets? Take a look at Working with secrets or Working with configmaps.
- Do you want to deploy your app in a toolchain? See Integrating Code Engine workloads with Continuous Delivery.
- Do you want to use Terraform to deploy your app? Find out more with Setting up Terraform for Code Engine.
Are you ready to deploy?
- Deploy application workloads from a public repository.
- Deploy application workloads from images in Container Registry.
- Deploy application workloads from images in a private repository.
Make your app highly available by deploying it in multiple regions.
Do you want to add more customizations?
- Want to integrate with other IBM Cloud services? See Integrating IBM Cloud services with service binding.
- Want to connect an event producer to your application? See Subscribing to event producers.
Are you ready to access your application?
- Access the application.
- You can also create a custom domain mapping for your app.
Each update of an application configuration property creates a new revision of the application.
- Find information to update your app.
You can use Iter8 to validate your application code and latency and then determine if your revision is ready to use or if you must roll back to a more stable version.
Need help? Check out troubleshooting tips for applications. If you need more help, try getting support.
Run your job
To get started, read plan a container image for Code Engine jobs and Batch job workloads.
Do you want to create a job definition?
By creating a job definition, you can more easily run your job multiple times based on your configuration.
Do you want to run a job without first creating a definition?
With the CLI, you can submit a job run without first creating a job configuration. You can specify the same configuration options on the jobrun submit
and jobrun resubmit
commands that are available with the job create
command.
Do you want to customize your job?
- How much CPU and memory does your job need? See Supported memory and CPU combinations.
- Do you have commands and arguments to add to your job? See Deploying your application with commands and arguments.
- Want to define environment variables for your job? Find out how with Working with environment variables.
- Does your job take advantage of configmaps or secrets? Take a look at Working with secrets or Working with configmaps.
- Do you want to deploy your app in a toolchain? See Integrating Code Engine workloads with Continuous Delivery.
- Do you want to use Terraform to deploy your app? Find out more with Setting up Terraform for Code Engine.
Code Engine supports Lithops for running jobs. See running jobs with Lithops framework.
Are you ready to create and run your job?
You can run your job directly or create a job definition and run your job based on that configuration.
- To run a job directly, see Run a job with the CLI without first creating a job configuration.
- To run a job from a job definition, see run a job.
Do you want to add more customizations?
- Want to integrate with other IBM Cloud services? See Integrating IBM Cloud services with service binding.
- Want to connect an event producer to your job? See Subscribing to event producers.
Need help? Check out troubleshooting tips for jobs. If you need more help, try getting support.
Run your Function
To get started, read Working with Functions and Function workloads.
Functions use a managed runtime. Find out more at Runtimes.
Do you want to customize your function?
- How much CPU and memory does your function need? See Supported memory and CPU combinations.
- Want to define environment variables for your function? Find out how with Working with environment variables.
- Does your function take advantage of configmaps or secrets? Take a look at Working with secrets or Working with configmaps.
Areyou ready to deploy?
Do you want to add more customizations?
- Want to integrate with other IBM Cloud services? See Integrating IBM Cloud services with service binding.
Log and monitor your workloads
Logging can help you troubleshoot your applications, jobs and functions. See Viewing logs.
You can also view, manage, and audit user-initiated activities that occur in your Code Engine project.
Finally, analyze performance metrics by collecting information with IBM Cloud Monitoring. You can create custom dashboards to monitor Code Engine workloads.
Migrate your workloads
If you are moving from a different service to Code Engine, there are several topics that can help you.