You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Install the required packages and set the environment variable:
37
-
```bash
52
+
53
+
{{< tabpane code=true >}}
54
+
{{< tab header="Linux/macOS">}}
38
55
pip3 install -r requirements.txt
39
56
export PYTHONPATH=`pwd`
40
-
```
57
+
{{< /tab >}}
58
+
{{< tab header="Windows (PowerShell)">}}
59
+
pip install -r requirements.txt
60
+
$env:PYTHONPATH = (Get-Location).Path
61
+
{{< /tab >}}
62
+
{{< /tabpane >}}
41
63
42
64
## Usage
43
65
44
-
You can use migrate-ease from the command-line or through a Web GUI.
66
+
You can use migrate-ease from the command-line or through a Web UI.
45
67
46
68
### Command-line usage
47
69
@@ -61,11 +83,11 @@ Here's an explanation of each of the arguments passed to the scanner tool:
61
83
62
84
**Parameters**
63
85
64
-
`{scanner_name}`: The name of the scanner, which can be one of cpp, docker, go, java, Python or rust.
86
+
`{scanner_name}`: The name of the scanner, which can be one of cpp, docker, go, java, python or rust.
65
87
66
88
`{result_file_name}`: The name of the exported results file (without the extension).
67
89
68
-
`{arch}`: The architecture type; `armv8-a` is the default.
90
+
`{arch}`: Target processor architecture. It follows the same semantics as GCC's `-march`, specifying the target architecture and feature set. Supported: `armv8-a` (default) and `armv8.6-a+sve2`.
69
91
70
92
`{scan_path}`: The path to the code you want to scan.
71
93
@@ -79,23 +101,83 @@ There are more parameters for user to control the scan functionality. To see thi
79
101
```bash
80
102
python3 -m {scanner_name} -h
81
103
```
82
-
Replace {scanner_name} with either cpp, docker, go, java, Python or rust.
104
+
Replace {scanner_name} with either cpp, docker, go, java, python or rust.
105
+
106
+
### Target a cloud vendor and instance type
107
+
108
+
Instead of setting `--march` manually, you can derive the target ISA from a cloud vendor and instance type. This is useful when you already know where the workload will run:
83
109
84
-
### GUI
85
-
Migrate-ease also provides a Web UI that supports scanning a git repo with cpp, docker, go, java, Python and rust scanners in one time.
Here's an explanation of each of the arguments passed to the scanner tool:
115
+
116
+
**Parameters**
117
+
118
+
`{VENDOR}`: The cloud vendor. Supported values are `AWS`, `GCP`, and `AliCloud`. The match is case-sensitive.
119
+
120
+
`{INSTANCE}`: The instance type under the selected vendor, for example, `c7g`, `c4a`, or `c8y`. The input is lowercased before matching, so it is case-insensitive. This option requires `--vendor`.
121
+
122
+
`{scan_path}`: The path to the code you want to scan.
123
+
124
+
To list the supported vendors and instance types per vendor, use the built-in help and check the **Supported Vendors** and **Supported Instance Types per Vendor** sections:
125
+
126
+
```bash
127
+
python3 -m {scanner_name} --help
128
+
```
129
+
130
+
For behavioral rules of `--vendor` and `--instance-type`, see the [vendor and instance-type usage guide](https://github.com/migrate-ease/migrate-ease/blob/main/docs/vendor-instance-type-usage.md).
131
+
132
+
### Web UI
133
+
134
+
Migrate-ease also provides a Web UI that supports scanning a git repo or a local source archive (`.zip`/`.tar`) with cpp, docker, go, java, python and rust scanners in one time. To start the web server, simply run:
135
+
```bash
88
136
python3 web/server.py
89
137
```
90
138
91
-
Once the server is running, you can access a web server hosted at http://localhost:8080
139
+
The server listens on port `8080` by default. To use a different port, pass `--port`:
140
+
```bash
141
+
python3 web/server.py --port <PORT>
142
+
```
143
+
144
+
Once the server is running, you can access a web server hosted at `http://<localhost>:8080`
145
+
146
+
The Web UI looks like this:
147
+
148
+

149
+
150
+
The Web UI walks you through three steps: choose what to scan, set options, and run.
151
+
152
+
**1. Choose what to scan** on either tab:
153
+
154
+
| Tab | Input |
155
+
|---|---|
156
+
|**Git Repo**| An HTTPS Git URL with an optional branch name. Leave the branch empty to use the repository's default branch. |
157
+
|**Source archive**| A local `.zip` or `.tar` archive uploaded from your machine. |
158
+
159
+
**2. Configure scan options** (optional) from the **Options** menu (gear icon):
160
+
161
+
| Option | Description | Default |
162
+
|---|---|---|
163
+
|**CSP & Instance**| Cloud provider and instance type used to derive the target architecture. |`armv8-a`|
164
+
|**Report format**| Format of the downloadable report (`JSON`, `HTML`, `Text`, or `CSV`). |`JSON`|
165
+
|**Scanner**| Language scanners to run. Uncheck **All** to pick a subset from `C/C++`, `Go`, `Rust`, `Java`, `Python`, and `Docker`. | All |
166
+
167
+
**3. Run and monitor** by clicking **SCAN**. The **Console Output** panel streams live logs from each scanner.
168
+
169
+
{{% notice Tip %}}
170
+
On your first visit, a step-by-step Quick Guide overlay highlights the key controls. A **Quick Guide** button stays in the top-right so you can rerun the walkthrough at any time.
171
+
{{% /notice %}}
92
172
93
-
The web UI looks like this:
94
-

173
+
When a scan finishes, a results banner appears with three actions:
95
174
96
-
A git repo URL is required, and you can specify certain branch name to scan. Once the necessary information is filled, you can click the **START SCAN** button to proceed project scanning.
175
+

97
176
98
-
Scanning progress is then shown in the console pane. Once all the jobs are done, you will see a web page like this:
99
-

177
+
| Action | What it does |
178
+
|---|---|
179
+
|**View Report**| Opens the full compatibility report in a new browser tab. |
180
+
|**Download**| Saves a `report.zip` package to your machine. |
181
+
|**New Scan**| Returns to the scan form so you can run another scan. |
100
182
101
-
You can download the result by clicking the symbolic download icon button, or view the result by clicking the icon which looks like an eye.
183
+
For a detailed walkthrough of every Web UI control, including screenshots for each step, see the [Web UI quick start guide](https://github.com/migrate-ease/migrate-ease/blob/main/docs/webui-quick-start.md).
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/migrate-ease/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Migrate applications to Arm servers using migrate-ease
3
3
4
4
minutes_to_complete: 45
5
5
6
-
who_is_this_for: This is an introductory topic for developers looking to migrate applications to Arm-based servers using migrate-ease, a code analysis tool that scans source code repositories to identify architecture-specific porting issues before migration.
6
+
who_is_this_for: This is an introductory topic for developers looking to migrate applications to Arm-based servers using migrate-ease, a code analysis tool that scans local source trees or Git repositories to identify architecture-specific porting issues before migration.
7
7
8
8
description: Scan source code for architecture-specific portability issues using migrate-ease to identify and resolve AArch64 porting challenges before migration.
0 commit comments