manageprofiles.sh can't create DEPLOYMENT MANAGER - linux

My goal is to create a Deployment Manager profile in my Websphere on Linux.
Reading tons of documentation pages gives just two methods:
1) using X GUI application WAS_root/bin/ProfileManagement/pmt.sh
In this case, according to manuals, i should choose Management option, click "Next" and choose Deployment Manager server type.
Actually when i run pmt.sh in my WAS installation there is no option to choose Deployment Manager in Management section and only one profile type that i'm able to create is AdminAgent.
2) using manageprofiles.sh script under WAS_root/bin directory.
The manuals say that i can use -serverType DEPLOYMENT_MANAGER option in order to create deployment manager profile.
Actually when i run the script:
./manageprofiles.sh -create -templatePath ../profileTemplates/management/ -ServerType DEPLOYMENT_MANAGER -isDefault -profileName dmgr -adminUserName websphere -adminPassword websphere1
I get the following message:
The following validation errors were present with the command line
arguments:
serverType: The value for this parameter must be within this set of values [ADMIN_AGENT]
That means that i don't have the ability to create Deployment Manager at all.
Please advise what steps i can perform to be able to install Deploy Manager except erase my WAS installation and install it from scratch once again.
Thanks a lot.

You have standalone aka base edition of WebSphere Application Server. To create Deployment Manager you need Network Deployment edition.
Unfortunately you will have to install it from scratch from different installation files (from ND, not base or developers edition).

Related

Deploying Strapi to Azure

I want to deploy Strapi to my Azure. Anyone here who has an experience doing such and making it up and running completely? Somehow I couldn't find any detailed instructions how to do that in Azure.. I'm looking for something that is as easy as deploying it to Heroku - but it's fine though if it'll require more steps as long as I can make it to work completely.
This is the complete instruction I have also created in the README of the repository.
Strapi-Azure 3.1.3
This is a working repository of Strapi 3.1.3 which you can already deploy as an Azure Web App. This requres a paid subscription, minimum of B1 plan (32 USD estimated), so we can enable the 64-bit platform configuration and the Always On feature.
To get started, let us first create and configure our Azure Web App:
Create an instance:
Name: The name of your choice that is still available
Publish: Code
Runtime staci: Node 12 LTS
Operating System: Windows
Region: select near you
Sku and Size: select B1 (minimum)
Configure the Environment variables:
Add the following key-value pairs:
For the HOST make a ping to your .azurewebsites.net instance and get the IP
Configure the Platform Settings
In the General Settings tab (beside the Application Settings), change the Platform from 32 Bit to 64 Bit
To confirm if you are indeed now on 64 Bit mode, go to Console and run node -p "process.arch"
Install yarn:
Go again to Console and run: npm install -g yarn
Deploy from your github account a copy of strapi-azure repo
In the Deployment Center tab, connect your GitHub account and browse your copy of strapi-azure
Select App Service build service as your build provider
Select repository and branch
Deploy!
Build your Admin UI using Kudu service
Go to Advance Tools -> Go -> expand Debug console from the toolbar -> CMD
Inside the wwwroot directory (site/wwwroot/), execute yarn build
See it in action 😊
It should not be any different than installing Strapi on any VM (Azure, AWS, GCP or even local VM).
Quick start guide should help you setup things and run Strapi server --> https://strapi.io/documentation/3.x.x/getting-started/quick-start.html
Primarily: Install nodejs, npm and strapi (via npm). Execute strapi new cms --quickstart and you should be good to go (with default configuration).
Assuming you have it within a GIT repository, I may have some useful insights.
When I set mine up, I created an app service hosted on windows - for some reason I found the Linux ones very unstable. I then used the Deployment Center to then setup the connection between my repository hosted on Azure Devops onto my App Service. When it deploys IISNode will automatically be setup with an appropriate web.config file for getting a NodeJS server up and running.
You may need to ensure you are running in production (assuming this is what you want), you can set this up by going to the App Service - Configuration - Application Settings (tab) - set up new variable called
"NODE_ENV" and set this "PRODUCTION".
I also found it useful to set
"WEBSITE_NODE_DEFAULT_VERSION" and specify the version - in my case it was "10.15.2".
For the database I used a ComosDB with the Mongo API, this was hosted on azure and it worked OK - the main problem I found was that I was getting charged a lot for the usage of it, not quite sure at this stage how to get around it.
One thing that did catch me out was setting the "port" variable within the config/environments/production/server.json - I was hard coding a port which doesn't work within IISNode - this needs to be set to something like
"host": "your.domain.com"
"port": "${process.env.PORT || 1280}"
You will also need to setup your database settings in config/environments/production/database.json file.
Happy to work through any further points, let me know

Package Microsoft.ApplicationInsights.Web not compatible with netcoreapp

Full problem text:
Package Microsoft.ApplicationInsights.Web 2.4.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1)
Package Microsoft.ApplicationInsights.Web 2.4.0 supports:
- net40 (.NETFramework,Version=v4.0)
- net45 (.NETFramework,Version=v4.5)
So when I try to access Live Metrics Stream in Azure I get the message:
Not available: your app is offline or using an older SDK
and the following step-by-step guide to getting it:
Make a copy of ApplicationInsights.config if you customized ApplicationInsights.config.
In Solution Explorer, right-click your project and choose Manage NuGet packages.
Select Browse.
Search for Microsoft.ApplicationInsights.Web, select it and choose Install/Update. You need version 2.2.0 (or later).
Reinstate any customizations you made to ApplicationInsights.config. Most of the changes you'll see when you compare the files are because we removed some modules and made others parameterizable.
Rebuild your solution.
(I haven't customized no ApplicationInsights.config so started at 2, got the error after 4)
So I'm not entirely sure what the problem here is, on thing I guess from the problem text is that ApplicationInsights.Web works with .NETFramework and not with .NETCoreApp. In that case my question would be:
What's the ApplicationInsights.Web alternative for .NETCoreApp? Plus, why does Azure recommend this step-by-step guide to me? Can't they see that I'm running a .NETCoreApp?
In case it's relevant:
I have student access to Visual Studio and Azure through something called Microsoft Imagine.
The guide is for classic MVC, not MVC Core.
For ASP.NET Core, you should be able to add App Insights with the connected service in Visual Studio: https://ppolyzos.com/2017/03/07/add-application-insights-in-a-net-core-app-using-vs-2017-and-connected-services/
To add one of the supported connected services you can right-click on
your Project and select Add Connected Service. Select Application
Insights and, from the next dialog, click on the Start Free button to
start the registration of Application Insights in your app.
Then, connect your Microsoft Azure account, choose your subscription
and resource group and, at the bottom, select whether you want app
insights to continue collecting data beyond 1 GB/month or not, and
click on Register. A popup will appear displaying the progress of App
Insights registration process.
Also, the package that the connected service installs is: https://www.nuget.org/packages/Microsoft.ApplicationInsights.AspNetCore/

How to Create a VM and deploy an application in Azure Resource Group Template

I want to create a set of VMs using either the Resource Group Template in VS 2015 or utilise one of the azure-quickstart-templates as the basis for doing this.
My specific requirements are also to install a simple .exe application and modify its .ini file with a key that I want to pass from the template, i.e. seqno = copyindex() or similar.
Can anybody provide some guidance please?
For a simple Windows VM you can use either a DSC Extension or a Custom Script extension on the VM. Both of the samples in the azure-quickstart repo require you to figure out how to stage the artifacts needed for the extension (in this case the EXE and the script that installs the EXE).
If you go the VS 2015 route, you can start with a VM template, add the DSC or custom script extension and then the PowerShell script provided by Visual Studio will stage the artifacts for you if you make them part of the project.
You can also mix/match - grab a template from github, modify it in VS or take the VS PowerShell script and bring it into whatever workflow works best for you.
Note: one thing to keep in mind as well - you need to pass the location of that EXE into the script that does the install - that script/vm will need to know where to get it from. In the VS 2015 workflow you can use the parameter values of _artifactsLocation and just pass that value along to the installation script. If you start with a quickstart template, you have to manage that yourself.

Websphere Application Server : Clustering

So I cannot wrap my head around clustering in Websphere. The first issue I'm having is starting the deployment manager. To start it I need a profile. To create the profile I found this command within IBM documentation:
manageprofiles.sh -create -templatePath profileTemplates/dmgr/ -isDefault
-profileName dmgr
But profileTemplates/dmgr/ does not exist, does it exist in a different place, or have i missed something while installing Websphere?
If you see only "default" and "management" directories under WAS_HOME/profileTemplates then most likely this is BASE edition. You can run versionInfo command from WAS_HOME/bin and for Network Deployment it should show some thing like
Name IBM WebSphere Application Server Network Deployment
Version 8.5.5.1
ID ND
The ID is showing ND. If your ID shows BASE /Express then there would be no option to create Deployment Manager profile. You would need to install ND code.
To download Trial version of WebSphere Application Server Network Deployment
http://www.ibm.com/developerworks/downloads/ws/wasnetwork/
To download Licensed version from Passport Advantage
http://www-01.ibm.com/support/docview.wss?uid=swg27038624
VS, opinions are my own and not those of my employer

Setup Project - Allow multiple installation of the same Windows Service

I have a question regarding to Setup Projects in .Net (c# language, Framework 4.0):
I made a setup project for a Windows Service, on the installation wizard, the user must input the name of the Windows Service as it would be installed. The setup program also creates a shortcut to the Uninstall program in case the user wants to remove that Windows Service.
The question is: how to let the user run the same setup program several times specifing different service name?
This behaviour could be required because the windows service is a socket consumer that connects to a server and retrieves data; to take advantage of the server capabilities the user could install the same windows service multiple times pointing to a different port on the server, to perform the data retrieving task much faster. The service is the same, the user just modify the port on the configuration file of the service, so that's why it's not logical to create a new version of the installer each time.
Any clue or suggestion would be appreciated, thanks in advance.
This can be done by using an multiple instances installation. The general approach is:
create a transform for each instance you want available to the user
use a custom EXE bootstrapper which applies a new transform to your MSI package each time a new instance is installed
The transform should change at least the PackageCode, ProductCode and UpgradeCode.
This is not supported by Visual Studio setup projects. So either you do it manually or use a commercial setup authoring tool which supports multiple instances.

Resources