Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
techker
Channel Surfer

Azure Pipeline in DevOps question

Jump to solution

hey guy's, im using Azure devops and have multiple pipelines set up for all our apps, i would like to set one up for Roku..

Does anybody know how this can be done?

0 Kudos
1 Solution

Accepted Solutions
TwitchBronBron
Streaming Star

Re: Azure Pipeline in DevOps question

Jump to solution

@philanderson777 most of the logic behind the vscode extension is available as independent npm packages, which is why I linked to brighterscript and roku-deploy directly.

You can build a zip of your app by running the BrighterScript cli like this:

npm install brighterscript
cd your/Roku/root/dir
npx brighterscript

It'll check your app for syntax errors (missing curly brace, that function does not exist, etc...) and then create a zip in the ./out directory. 

The nice thing is, you can run this locally as well, so you can keep testing it until it works the way you want. 

 

View solution in original post

0 Kudos
8 REPLIES 8
TwitchBronBron
Streaming Star

Re: Azure Pipeline in DevOps question

Jump to solution

What specifically do you want to accomplish in this pipeline? There are several great nodejs tools out there to help validate, package, and sign your roku apps (brighterscriptroku-deploy ). But the captcha on the Roku developer upload portal prevents fully automated app submission. 

0 Kudos
philanderson777
Roku Guru

Re: Azure Pipeline in DevOps question

Jump to solution

Also just to add to that ...

 

we have local jenkins server with a local Roku hardware device which is semi-automated ...

 

I don't think azure in the cloud will work yet because there are no virtualized Roku devices yet that could attach to a cloud server .... that's my thinking anyway, could be wrong on that!

 

With Roku at present you have got to have a physical hardware device to run the code against, so fully cloud operations/testing etc is not going to work ...

0 Kudos
techker
Channel Surfer

Re: Azure Pipeline in DevOps question

Jump to solution

all we need is to build the code to Zip and share with QA team..

the process of building the app is were im confused. it Zips it?

the app still needs to be uploaded to the store and processed.

im sure there is something in the pipeline that just builds it and not test it?

0 Kudos
philanderson777
Roku Guru

Re: Azure Pipeline in DevOps question

Jump to solution

I am not sure if @TwitchBronBron has any better suggestions because the VSCode brightscript extensions etc - they won't be running on the Azure server, right?  So you won't have access to that functionality?  They are what is used normally to build the files into a ZIP file.

 

Here is an alternative where someone is using a cloud-only solution to build the ZIP - don't know if that helps at all?  https://gist.github.com/rymawby/32a80f6e6a446d2e3e77

 

Sorry can't be more helpful.  

0 Kudos
TwitchBronBron
Streaming Star

Re: Azure Pipeline in DevOps question

Jump to solution

@philanderson777 most of the logic behind the vscode extension is available as independent npm packages, which is why I linked to brighterscript and roku-deploy directly.

You can build a zip of your app by running the BrighterScript cli like this:

npm install brighterscript
cd your/Roku/root/dir
npx brighterscript

It'll check your app for syntax errors (missing curly brace, that function does not exist, etc...) and then create a zip in the ./out directory. 

The nice thing is, you can run this locally as well, so you can keep testing it until it works the way you want. 

 

0 Kudos
techker
Channel Surfer

Re: Azure Pipeline in DevOps question

Jump to solution

ah i have an NPM extension in azure il test it out to see. Thx for the help guys!

techker
Channel Surfer

Re: Azure Pipeline in DevOps question

Jump to solution

hey, i have been playimng arround with this and have a question seen that i would need to download the IDK and build from that?does this make sence?

 

trigger:
- main

pool:
vmImage: 'ubuntu-latest'


- script: |
wget https://myrepo.com/DefaultCollection/Main/_git/repo-RokuIDK?path=/11.0.811-IDK.tar.gz&version=GBmain
unzip 11.0.811-IDK.tar.gz -d /opt
displayName: 'Install Roku SDK'

- task: Bash@3
inputs:
targetType: 'inline'
script: |
cd source
rake build

- task: CopyFiles@2
displayName: 'Copy zip Files 2'
inputs:
contents: '**/*.zip'
targetFolder: '$(build.artifactStagingDirectory)'
overWrite: true
CleanTargetFolder: true
flattenFolders: true
- task: PublishBuildArtifacts@1
displayName: 'Publishing Artifacts 2'
inputs:
pathToPublish: '$(build.artifactStagingDirectory)'
artifactName: 'Release-$(Build.BuildId)'
artifactType: 'container'

But i get an error downloading the file..that i can add to google drive if any, but do i need to use the IDK to build it?

0 Kudos
TwitchBronBron
Streaming Star

Re: Azure Pipeline in DevOps question

Jump to solution

No, you don't need the IDK. that's for writing bare-metal applications using Roku's C++ IDK SDK. It is very unlikely that you've written an IDK app. You are probably writing your app using scenegraph and brightscript, which does not use the IDK or NDK. 

Roku apps must be compiled on a Roku device. The only "build" you can do off-device is to zip the application, which involves copying your .brs, .xml, .jpg, manifest files into a zip with a specific structure. 

Then, you can upload that zip to a working roku with dev mode enabled, and ask that Roku to generate a pkg for you. Then a human must upload that pkg to the roku portal.